日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

瀏覽:191日期: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
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
九九色在线视频| 国语精品一区| 成人久久一区| 亚洲精品在线观看91| 欧洲在线一区| 人人爱人人干婷婷丁香亚洲| 国产亚洲字幕| 亚洲精品乱码| 欧美激情一区| 99久久久久久中文字幕一区| 亚洲一区欧美激情| 国产精品中文字幕亚洲欧美| 国产精品porn| 国产精品88久久久久久| 国产精品流白浆在线观看| 久久久久国产精品一区三寸| 亚洲乱码视频| 色婷婷综合网| 中文字幕亚洲在线观看| 午夜欧美精品| 国产精品视频一区二区三区| 精品欧美激情在线观看| 91久久精品无嫩草影院| 久久中文字幕av一区二区不卡| 亚洲我射av| 亚洲a在线视频| 欧美黑人巨大videos精品| 老牛国产精品一区的观看方式| 丝袜诱惑一区二区| 麻豆91小视频| 日韩视频一二区| 只有精品亚洲| 日韩高清不卡| 成人午夜精品| 高清在线一区| 久久99影视| 日韩一区免费| 夜夜嗨av一区二区三区网站四季av| 久久av电影| 国产精品欧美一区二区三区不卡| 怡红院精品视频在线观看极品| 97精品国产福利一区二区三区| 国产欧美三级| 国产精品主播| 亚洲精品在线a| 国产高清一区| 久久精品国产久精国产| 国产精品天天看天天狠| 日韩一区免费| 午夜精品影视国产一区在线麻豆| 亚洲一区二区三区免费在线观看| 免费观看不卡av| 国产精品99精品一区二区三区∴| 久久av网址| 欧美男人天堂| 精品欧美久久| 欧美专区在线| 视频一区欧美日韩| 91精品在线免费视频| 亚洲激情欧美| 亚洲在线一区| 日本特黄久久久高潮| 亚洲一二三区视频| 国产精品黄色| 久久精品亚洲| 欧美日韩在线网站| 亚洲精品字幕| 日欧美一区二区| 久久国产精品美女| 天堂资源在线亚洲| 久久成人精品| 欧美日韩1区2区3区| 欧美日韩99| 日韩毛片在线| 国产伦理一区| 久久精品官网| 亚洲精品系列| 美女性感视频久久| 欧美日韩国产高清| 91中文字幕精品永久在线| 欧美在线综合| 国产精品porn| 韩日一区二区| 亚洲激情二区| 精品视频高潮| 一区二区国产在线观看| 亲子伦视频一区二区三区| 日本午夜精品一区二区三区电影| 国产精品二区不卡| 日韩精品视频一区二区三区| 中文字幕色婷婷在线视频| 亚洲欧美日韩精品一区二区| 欧美一区久久| 欧美日韩一二| 欧美激情久久久久久久久久久| 日韩一区欧美| 国产亚洲高清一区| 亚洲深夜福利| 久久久久午夜电影| 国产精品任我爽爆在线播放| 鲁大师影院一区二区三区| 免费污视频在线一区| 久久精品国产福利| 亚洲理论在线| 亚洲电影在线一区二区三区| 国产成人77亚洲精品www| 欧美一级二级三级视频| 亚洲毛片视频| 日韩亚洲在线| 国内精品福利| 久久中文亚洲字幕| 日韩一区二区中文| 亚洲免费影视| 欧美日韩国产免费观看视频| 国产中文欧美日韩在线 | 国产精品日本| 国产一区二区精品久| 久久精品免视看国产成人| 亚洲不卡视频| 日韩精品视频中文字幕| 亚洲开心激情| 在线观看视频免费一区二区三区| 国产 日韩 欧美一区| 69堂精品视频在线播放| 丝袜亚洲另类欧美| 免费美女久久99| 日韩精品电影一区亚洲| 在线一区视频| 久久久国产精品一区二区中文| 亚洲精品大全| 国产欧美久久一区二区三区| 日本视频一区二区| 亚洲毛片视频| 羞羞答答国产精品www一本| 成人三级高清视频在线看| 欧美日韩免费看片| 国产精品亚洲一区二区三区在线观看| 亚洲深夜视频| 99久久99久久精品国产片果冰| 久久精品不卡| 欧美日中文字幕| 日本在线啊啊| 欧美精品九九| 天堂网在线观看国产精品| 亚洲一级黄色| 亚洲一区二区三区在线免费| 一区二区精彩视频| 青青国产91久久久久久| 日本视频一区二区| 欧美国产日本| 国产网站在线| 中文在线不卡| 另类欧美日韩国产在线| 国产欧美一区二区色老头| 蜜桃av.网站在线观看| 亚洲欧美不卡| 99久久婷婷这里只有精品| 久久久亚洲一区| 石原莉奈一区二区三区在线观看| 国产另类在线| 美腿丝袜亚洲三区| 午夜欧美在线| 欧美日韩夜夜| 丝袜美腿诱惑一区二区三区 | 日本激情一区| 久久久久久美女精品| 欧美片网站免费| 久久久精品国产**网站| 在线综合亚洲| 日韩一区三区| 国产区精品区| 蜜臀av免费一区二区三区| 美女精品视频在线| 亚洲精品自拍| 夜夜精品视频| 91免费精品| 国产精品三p一区二区| 伊人精品视频| 亚洲91视频| 久久男人天堂| 欧美激情日韩| 日韩高清国产一区在线| 久久精品观看| 日韩一区三区| 欧美国产专区| 国产美女久久| 国产乱码精品一区二区三区四区 | 99riav1国产精品视频| 欧美a在线观看| 日韩和欧美一区二区三区| 亚洲免费播放| 亚洲精品小说| 成人va天堂| 99久久激情| 蜜臀av免费一区二区三区| 欧美偷窥清纯综合图区| 国产日韩欧美在线播放不卡| 涩涩涩久久久成人精品| 亚洲精品免费观看| 日韩在线卡一卡二|