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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:262日期:2024-05-30 13:21:02
一、Json和struct互換

(1)Json轉(zhuǎn)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 實(shí)現(xiàn)struct、json、map互相轉(zhuǎn)化

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

(2)struct轉(zhuǎn)json

在結(jié)構(gòu)體中引入tag標(biāo)簽,這樣匹配的時(shí)候json串對(duì)應(yīng)的字段名需要與tag標(biāo)簽中定義的字段名匹配,當(dāng)然tag中定義的名稱不需要首字母大寫,且對(duì)應(yīng)的json串中字段名仍然大小寫不敏感。此時(shí),結(jié)構(gòu)體中對(duì)應(yīng)的字段名可以不用和匹配的一致,但是首字母必須大寫,只有大寫才是可對(duì)外提供訪問的。

例子:

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

二、json和map互轉(zhuǎn)

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

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

例2:

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

輸出:

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

三、map和struct互轉(zhuǎn)

(1)map轉(zhuǎn)struct

需要安裝一個(gè)第三方庫(kù)

在命令行中運(yùn)行:

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

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

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

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品88久久久久久| 久久国产精品久久w女人spa| 欧美日本一区| 国产精品久久久久久久久久久久久久久| 亚洲精品高潮| 免费精品一区| 99精品电影| 蜜臀av一区二区三区| 欧美日韩午夜| 国产精品视频首页| 亚洲成av在线| 亚洲免费影视| 国产精品亚洲产品| 亚洲一级少妇| 亚洲午夜久久| 韩国一区二区三区视频| 久久精品导航| 日韩综合小视频| 国产不卡一区| 亚洲欧美日韩国产| 欧美精品二区| 欧美一区二区三区激情视频| 伊人www22综合色| 久久免费视频66| 天堂8中文在线最新版在线| 国产精品普通话对白| 国产精品一国产精品k频道56| 精品亚洲成人| 成人羞羞在线观看网站| 亚洲婷婷丁香| sm久久捆绑调教精品一区| 亚洲综合另类| 动漫av一区| 视频一区国产视频| 国内精品伊人| 一区二区国产在线观看| 韩国久久久久久| 日韩成人在线看| 2023国产精品久久久精品双| 亚洲欧洲美洲国产香蕉| 亚洲1234区| 国产免费av国片精品草莓男男| 亚洲福利一区| 久久亚洲精精品中文字幕| 久久99伊人| 日韩在线第七页| 国产午夜精品一区在线观看| 欧美99久久| 成人亚洲一区二区| 欧美亚洲网站| 老鸭窝毛片一区二区三区| 97精品中文字幕| 日本国产一区| 免费在线小视频| 亚洲大片在线| 欧美国产专区| 香蕉久久夜色精品国产| 久久精品国产福利| 中文在线日韩| 亚洲欧美日韩高清在线| 成人午夜毛片| 国产日韩欧美在线播放不卡| 日韩视频在线一区二区三区| 高清av一区| 国产剧情一区二区在线观看| 午夜在线精品| 久久国产中文字幕| 国产理论在线| 欧美黄色一区二区| 99热精品在线| 日韩综合精品| 视频在线不卡免费观看| 国产精品午夜av| 日本成人精品| 首页国产欧美日韩丝袜| 久久精品青草| 国产成人精选| 国产精品国码视频| 天堂资源在线亚洲| 国产日本精品| 亚洲精品护士| 丝袜美腿亚洲一区| 中日韩男男gay无套| 午夜av不卡| 鲁大师精品99久久久| 国产欧美一区二区精品久久久 | 国产精品中文字幕亚洲欧美| 亚洲精品第一| 婷婷亚洲成人| 天堂av一区| 日韩一区二区三区高清在线观看| 视频一区二区国产| 亚洲综合另类| 亚洲综合丁香| 综合精品一区| 婷婷精品在线| 日韩一区二区三区高清在线观看| 亚洲另类视频| 另类专区亚洲| 国产欧美丝祙| 国产精品a级| 国产精品调教| 红杏一区二区三区| 日韩影院二区| 国产国产精品| 亚洲影视一区二区三区| 91欧美日韩在线| 麻豆传媒一区二区三区| 国产精品久久国产愉拍| 欧美激情91| 成人污污视频| 久久中文字幕二区| 亚洲免费影视| 日韩成人一级| 久久精品国产免费| 神马午夜久久| 中文字幕一区二区三区在线视频| 日韩高清一级| 国产一区二区三区探花| 日韩毛片视频| 视频一区二区中文字幕| 国产亚洲字幕| 日韩电影免费网址| 国产视频一区三区| 日本成人在线不卡视频| 另类小说一区二区三区| 欧美精品高清| 欧美日韩国产精品一区二区亚洲| 国产99精品一区| 亚洲视频国产| 精品美女久久| 91精品1区| 国产亚洲一区| 日韩免费福利视频| 亚洲免费福利一区| 岛国精品一区| 国产模特精品视频久久久久| 97久久亚洲| 国产一区二区三区四区| 香蕉国产精品| 欧美精品第一区| 日韩亚洲在线| 精品女同一区二区三区在线观看| 91精品99| 免费亚洲婷婷| 老牛影视一区二区三区| 久久天堂影院| 亚洲视频二区| 久久青草久久| 国产伦精品一区二区三区千人斩| 亚洲成人精品| 久久激情五月激情| 亚洲国产不卡| 美女精品久久| 丝袜美腿亚洲一区| 久久九九电影| 日韩福利在线观看| 久久久夜夜夜| 国产日韩一区二区三区在线 | 日韩欧美在线精品| 日韩免费看片| 18国产精品| 国产农村妇女精品一二区| 国产在线不卡一区二区三区| 蜜臀国产一区二区三区在线播放| 在线亚洲人成| 国产精品中文字幕制服诱惑| 亚洲视频综合| 国产一区二区三区四区五区| 亚洲精品进入| 不卡中文一二三区| 精品资源在线| 欧美片网站免费| 日韩精品一区第一页| 日韩不卡在线| 精品视频久久| 国产精品一区毛片| 最新亚洲国产| 亚洲经典在线| 国产精品99免费看| 国产传媒在线| 精品一区二区三区中文字幕视频| 日韩精品一二三| 精品日韩毛片| 国产精品亚洲综合在线观看| 免费在线亚洲欧美| 日韩国产在线不卡视频| 在线国产一区二区| 久久久久欧美精品| 精品国产美女a久久9999| 日韩av一区二区三区四区| 石原莉奈在线亚洲三区| 久久九九精品| 在线人成日本视频| 精品一区二区三区免费看| 国产精品久久久久久久免费软件| 日本vs亚洲vs韩国一区三区二区| 午夜日韩av| 不卡一区2区| 亚洲成人精选|