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

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

golang 實現(xiàn)struct、json、map互相轉化

瀏覽:266日期:2024-05-30 13:21:02
一、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 實現(xiàn)struct、json、map互相轉化

注意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 實現(xiàn)struct、json、map互相轉化

二、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 實現(xiàn)struct、json、map互相轉化

(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 實現(xiàn)struct、json、map互相轉化

例2:

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

輸出:

golang 實現(xiàn)struct、json、map互相轉化

三、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 實現(xiàn)struct、json、map互相轉化

(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 實現(xiàn)struct、json、map互相轉化

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

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品视频一二| 里番精品3d一二三区| 日本va欧美va欧美va精品| 99在线|亚洲一区二区| 好吊日精品视频| 久久精品国产68国产精品亚洲| 精品免费视频| 日韩欧美精品一区| 亚洲成人一区在线观看| 在线成人动漫av| 美女网站一区| 欧美天堂亚洲电影院在线观看| 亚洲激情精品| 一区二区不卡| 国产精品第一| 日韩在线欧美| 国产综合精品| 一区在线视频观看| 亚洲18在线| 久久久精品国产**网站| 蜜桃av.网站在线观看| 免费久久精品| 亚洲深深色噜噜狠狠爱网站| 日韩高清欧美激情| 久草精品视频| 久久久久久久久久久9不雅视频| re久久精品视频| 综合视频一区| 免费在线播放第一区高清av| 国产精品字幕| 亚洲综合专区| 国产精品白丝av嫩草影院| 久久久久亚洲精品中文字幕| 日韩国产在线| 久久亚洲欧洲| 国产精品tv| 国产在线成人| 中文字幕在线视频久| 97成人在线| 国产亚洲一区二区三区不卡| 国产精品一区二区av交换| 国产一区二区久久久久| 不卡一区综合视频| 日韩精品久久理论片| 久久国产精品美女| 韩日一区二区三区| 97成人在线| 国产精品.xx视频.xxtv| 欧美一级网站| 日韩久久视频| 久久精品一区二区不卡| 亚洲综合国产| 国产亚洲电影| 婷婷成人综合| 少妇精品在线| 麻豆视频在线观看免费网站黄| 午夜精品婷婷| 精品视频网站| 在线观看一区| 日韩一区三区| 日韩av不卡一区二区| av资源亚洲| 美国三级日本三级久久99| 久久免费精品| 亚洲在线久久| 日韩免费福利视频| 日本aⅴ精品一区二区三区| 国产日韩电影| 欧美日韩xxxx| 在线国产一区二区| 久久男人av| 综合欧美精品| 精品中文一区| 福利在线免费视频| 色狠狠一区二区三区| 日本韩国欧美超级黄在线观看| 国产亚洲欧美日韩精品一区二区三区 | 国产一区二区三区四区大秀| 国产亚洲福利| 成人福利av| 亚久久调教视频| 亚洲五月婷婷| 成人国产综合| 国产精品久久| 亚洲区国产区| 午夜欧美视频| 91综合网人人| 精品黄色一级片| 欧美一区二区三区久久| 中文日韩在线| 国产综合激情| 久久久久久黄| 日韩国产欧美一区二区| 精品久久久中文字幕| 91精品一区| 午夜在线一区| 欧美日韩一二三四| 精品国产乱码| 青青青国产精品| 蜜臀av在线播放一区二区三区| 久久久久久久久丰满| 9999国产精品| 国产成人精品一区二区三区免费| 欧美一区激情| 日韩1区2区日韩1区2区| 亚洲免费毛片| 亚洲免费一区二区| 久久国产中文字幕| 香蕉成人av| 五月激情久久| 国产一区二区三区久久| 欧美国产亚洲精品| 国产精品主播| 欧美日韩亚洲一区| 久久国产人妖系列| 欧美天堂在线| 国产精品一站二站| 国产日韩视频在线| 国产麻豆精品久久| 国产精品一区二区中文字幕| 日韩国产在线观看| 日韩影片在线观看| 日本午夜精品| 国产精品夜夜夜| 欧美日韩中文| 日本一区二区三区视频在线看 | 91成人在线精品视频| 欧美天堂在线| 国产精品66| 日韩av有码| 久久蜜桃精品| 国产综合婷婷| 亚洲一卡久久| 视频一区二区不卡| 婷婷亚洲精品| 久久国产人妖系列| 精品在线网站观看| 国产一区调教| 色婷婷色综合| 亚洲午夜黄色| 视频一区二区中文字幕| 日本久久一区| 精品一区电影| 日韩精品久久久久久久电影99爱| 欧美日韩亚洲在线观看| 水野朝阳av一区二区三区| 久久精品凹凸全集| 精品一区二区三区中文字幕 | 亚洲福利专区| 黄色在线一区| 中文字幕av一区二区三区人| 日韩国产欧美三级| 精品视频高潮| 激情综合网五月| 亚洲另类av| 国产精品九九| 99精品网站| 一本综合精品| 激情中国色综合| 欧美a级片一区| 亚洲精品裸体| 高清精品久久| 尹人成人综合网| 日本强好片久久久久久aaa| 激情综合五月| 91精品一区二区三区综合| 视频一区视频二区中文字幕| 国产精品一区二区三区av| 成人看片网站| 婷婷亚洲精品| 久久毛片亚洲| 视频一区二区中文字幕| 国内精品美女在线观看| 国产一区二区精品| 国产精品欧美日韩一区| 国产尤物精品| 国产欧美日韩在线观看视频 | 欧美精品羞羞答答| 97久久超碰| 成人国产精品一区二区网站| 亚洲欧美久久| 精品五月天堂| 亚洲主播在线| 国产成人精品免费视| 免费人成在线不卡| 青青青免费在线视频| 亚洲专区欧美专区| 国产麻豆一区二区三区精品视频| 蜜桃一区二区三区在线| 亚洲制服欧美另类| 欧美一区久久久| 欧美日韩国产一区二区在线观看| 一区二区小说| 激情综合网站| 91精品国产乱码久久久久久久| 国产色播av在线| 欧美精品一区二区久久| 精品午夜视频| 香蕉久久精品| 爽好多水快深点欧美视频|