成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

golang中json小談之字符串轉浮點數的操作

瀏覽:144日期:2024-05-29 16:31:52

有時會有這種需求,將一個json數據形如:

{'x':'golang', 'y':'520.1314'}

中的y反序列化為浮點類型,如果這樣寫:

package mainimport ( 'encoding/json' 'fmt')type JsonTest struct { X string `json:'x'` Y float64 `json:'y'`}func main() { s := `{'x':'golang', 'y':'520.1314'}` var jt JsonTest err := json.Unmarshal([]byte(s), &jt) if err == nil { fmt.Printf('%+vn', jt) } else { fmt.Println(err) fmt.Printf('%+vn', jt) }}

會報錯:

json: cannot unmarshal string into Go struct field JsonTest.y of type float64

將結構體JsonTest定義改為如下,即可解決戰斗:

type JsonTest struct { X string `json:'x'` Y float64 `json:'y,string'`}

這樣寫可以告訴golang的json解釋器變量y是被編碼成字符串的浮點數

補充:golang中struct、json、map互相轉化

一、Json和struct互換(1)Json轉struct例子:

package main import ( 'fmt' 'encoding/json') type People struct { Name string `json:'name_title'` Age int `json:'age_size'`} func JsonToStructDemo(){ jsonStr := ` {'name_title': 'jqw''age_size':12 } ` var people People json.Unmarshal([]byte(jsonStr), &people) fmt.Println(people)} func main(){ JsonToStructDemo()}

輸出:

golang中json小談之字符串轉浮點數的操作

注意json里面的key和struct里面的key要一致,struct中的key的首字母必須大寫,而json中大小寫都可以。

(2)struct轉json

在結構體中引入tag標簽,這樣匹配的時候json串對應的字段名需要與tag標簽中定義的字段名匹配,當然tag中定義的名稱不需要首字母大寫,且對應的json串中字段名仍然大小寫不敏感。此時,結構體中對應的字段名可以不用和匹配的一致,但是首字母必須大寫,只有大寫才是可對外提供訪問的。

例子:

package main import ( 'fmt' 'encoding/json') type People struct { Name string `json:'name_title'` Age int `json:'age_size'`} func StructToJsonDemo(){ p := People{Name: 'jqw',Age: 18, } jsonBytes, err := json.Marshal(p) if err != nil {fmt.Println(err) } fmt.Println(string(jsonBytes))} func main(){ StructToJsonDemo()}

輸出:

golang中json小談之字符串轉浮點數的操作

二、json和map互轉(1)json轉map例子:

func JsonToMapDemo(){ jsonStr := ` {'name': 'jqw','age': 18 } ` var mapResult map[string]interface{} err := json.Unmarshal([]byte(jsonStr), &mapResult) if err != nil {fmt.Println('JsonToMapDemo err: ', err) } fmt.Println(mapResult)}

輸出:

golang中json小談之字符串轉浮點數的操作

(2)map轉Json例子

func MapToJsonDemo1(){ mapInstances := []map[string]interface{}{} instance_1 := map[string]interface{}{'name': 'John', 'age': 10} instance_2 := map[string]interface{}{'name': 'Alex', 'age': 12} mapInstances = append(mapInstances, instance_1, instance_2) jsonStr, err := json.Marshal(mapInstances) if err != nil {fmt.Println('MapToJsonDemo err: ', err) } fmt.Println(string(jsonStr))}

輸出:

golang中json小談之字符串轉浮點數的操作

例2:

func MapToJsonDemo2(){ b, _ := json.Marshal(map[string]int{'test':1, 'try':2}) fmt.Println(string(b))}

輸出:

golang中json小談之字符串轉浮點數的操作

三、map和struct互轉(1)map轉struct

需要安裝一個第三方庫

在命令行中運行: go get github.com/goinggo/mapstructure

例子:

func MapToStructDemo(){ mapInstance := make(map[string]interface{}) mapInstance['Name'] = 'jqw' mapInstance['Age'] = 18 var people People err := mapstructure.Decode(mapInstance, &people) if err != nil {fmt.Println(err) } fmt.Println(people)}

輸出

golang中json小談之字符串轉浮點數的操作

(2)struct轉map例子

func StructToMapDemo(obj interface{}) map[string]interface{}{ obj1 := reflect.TypeOf(obj) obj2 := reflect.ValueOf(obj) var data = make(map[string]interface{}) for i := 0; i < obj1.NumField(); i++ {data[obj1.Field(i).Name] = obj2.Field(i).Interface() } return data}func TestStructToMap(){ student := Student{10, 'jqw', 18} data := StructToMapDemo(student) fmt.Println(data)}

輸出:

golang中json小談之字符串轉浮點數的操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
成人网在线免费视频| 日韩精品五月天| 免费高清成人在线| 国产一区二区高清不卡| 亚洲人成精品久久久久久 | 成人性色生活片| 欧美一区二区三区在线视频| 国产美女精品人人做人人爽| 天堂蜜桃一区二区三区| 久久中文字幕一区二区三区| 丝袜a∨在线一区二区三区不卡| 久久电影一区| 亚洲影院在线观看| 亚洲免费婷婷| 日日夜夜一区二区| 91久久免费观看| 日本成人中文字幕在线视频| 91国偷自产一区二区使用方法| 蜜桃av噜噜一区| 欧美日韩久久一区二区| 国产毛片精品视频| 日韩精品一区二区三区视频| 91在线云播放| 国产精品国产三级国产aⅴ中文| 亚洲国产免费看| 亚洲国产视频一区| 久久精品国语| 青青草视频一区| 欧美日韩极品在线观看一区| 国产一区二区三区免费播放| 欧美电影精品一区二区| 欧美承认网站| 国产美女av一区二区三区| 精品国产一区二区三区av性色| 色综合久久中文综合久久97| 中文字幕在线不卡国产视频| 国产精品一区二区a| 日韩高清不卡一区二区三区| 欧美日韩中文字幕一区二区| 国产成人av电影在线播放| 欧美激情日韩| 一区二区国产盗摄色噜噜| 可以看av的网站久久看| 国产一区激情在线| 久久久99久久| 一区二区黄色| 男男视频亚洲欧美| 欧美电影免费观看高清完整版| 欧美激情一级片一区二区| 亚洲黄色免费网站| 欧美性大战久久久久久久| 成人免费看的视频| 中文字幕一区二区日韩精品绯色| 欧美综合国产| 国产精品77777| 国产精品五月天| 久久久久久穴| 国模少妇一区二区三区| 久久久99久久| 亚洲专区一区| 国产丶欧美丶日本不卡视频| 欧美极品aⅴ影院| 羞羞答答国产精品www一本| 韩国成人福利片在线播放| 国产亚洲综合性久久久影院| 久久不射中文字幕| 豆国产96在线|亚洲| 亚洲精选视频在线| 欧美高清一级片在线| 欧美日韩精品免费观看| 视频一区视频二区中文| 精品国产91乱码一区二区三区| 99国产成+人+综合+亚洲欧美| 久久国产日韩欧美精品| 久久精品视频免费观看| 色婷婷精品大在线视频| 欧美国产视频在线观看| 毛片一区二区三区| 欧美国产精品久久| 欧洲激情一区二区| 国产精品啊啊啊| 麻豆精品一区二区综合av| 国产三级精品三级| 91黄视频在线| 欧美日本国产精品| 激情综合色综合久久综合| 亚洲欧洲av在线| 欧美伦理视频网站| 亚洲精品视频一区二区三区| 丁香亚洲综合激情啪啪综合| 亚洲3atv精品一区二区三区| 久久综合丝袜日本网| 色婷婷综合久久久中文字幕| 午夜精品一区二区在线观看| 青青草国产成人99久久| 中文字幕精品一区二区三区精品 | 国外精品视频| 精品少妇一区二区三区免费观看 | 精品国产人成亚洲区| 性色av一区二区怡红| 欧美国产日本| 麻豆国产欧美日韩综合精品二区| 国产精品对白交换视频| 911国产精品| 国产日韩欧美三级| 色综合色狠狠综合色| 激情小说亚洲一区| 亚洲自拍偷拍欧美| 2017欧美狠狠色| 欧美色精品在线视频| 亚洲免费高清| 99久久婷婷国产综合精品| 日日噜噜夜夜狠狠视频欧美人| 国产午夜精品一区二区三区视频 | 色婷婷av一区二区三区软件| 欧美日本高清| 国产精品一卡二| 亚洲风情在线资源站| 国产欧美日韩激情| 欧美日韩国产另类不卡| 99国产精品久久久久久久成人热| 成人黄色片在线观看| 五月婷婷综合网| 亚洲人亚洲人成电影网站色| www欧美成人18+| 欧美日韩国产大片| 久久精品二区| 99精品久久久| 欧美日本不卡| 成人av动漫网站| 久久国产精品区| 天天色综合天天| 一区二区三区中文字幕电影| 久久久天堂av| 日韩亚洲欧美在线| 在线观看91视频| 国产伦理一区| 亚洲日本欧美在线| 欧美91大片| 成人av电影观看| 国产成人啪午夜精品网站男同| 日本欧美一区二区三区| 午夜精品久久久久久久| 亚洲精品视频在线看| 国产精品毛片久久久久久| 久久午夜羞羞影院免费观看| 91精品国产美女浴室洗澡无遮挡| 欧美亚洲国产一区二区三区| 蜜桃视频一区| 亚洲成av人片观看| 亚洲激情自拍视频| 18欧美亚洲精品| 国产精品福利一区二区三区| 国产欧美视频在线观看| 久久综合久久综合久久综合| 精品久久久久一区| wwww国产精品欧美| 91久久中文| 91久久精品一区二区别| 在线视频观看日韩| 亚洲看片网站| av成人国产| 国产精品乱子乱xxxx| 亚洲激情黄色| 亚洲精品一级| 日韩一级免费| 国产精品久久久久久久久久直播 | 欧美成人免费网站| 日韩午夜在线观看| 欧美一区二区三区视频| 欧美一区二区播放| 日韩一区二区三区三四区视频在线观看| 欧美精品在线一区二区| 欧美裸体一区二区三区| 91精品国产综合久久久久久久| 欧美日韩国产中文| 欧美区在线观看| 欧美精品在线一区二区三区| 91麻豆精品国产91久久久 | 欧美成人一区二区| 日韩精品一区二区三区蜜臀| 欧美成人综合网站| 国产亚洲成aⅴ人片在线观看 | 欧美一区二区二区| 26uuu亚洲综合色| 亚洲国产高清在线观看视频| 国产精品国产三级国产有无不卡 | 免费看精品久久片| 精油按摩中文字幕久久| 国产伦精品一区二区三区免费| 国产成人丝袜美腿| 97精品国产露脸对白| 欧美视频二区| 国产亚洲一级| 欧美伊人久久久久久午夜久久久久| 在线播放亚洲一区| 久久久精品天堂| 中文字幕亚洲一区二区av在线| 亚洲精品中文字幕在线观看| 欧美性一二三区|