欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > golang 實現struct、json、map互相轉化

golang 實現struct、json、map互相轉化

熱門標簽:不封卡外呼系統 鄭州智能語音電銷機器人價格 仙桃400電話辦理 地圖標注免費定制店 重慶慶云企業400電話到哪申請 上海極信防封電銷卡價格 寧波語音外呼系統公司 宿遷便宜外呼系統代理商 湛江crm外呼系統排名

一、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()
}

輸出:

注意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()
}

輸出:

二、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)
}

輸出:

(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))
}

輸出:

例2:

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

輸出:

三、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)
}

輸出

(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 struct, map, json之間的相互轉換

標簽:電子產品 安康 物業服務 遼寧 青海 海南 西雙版納 儋州

巨人網絡通訊聲明:本文標題《golang 實現struct、json、map互相轉化》,本文關鍵詞  golang,實現,struct,json,map,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang 實現struct、json、map互相轉化》相關的同類信息!
  • 本頁收集關于golang 實現struct、json、map互相轉化的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    成人免费毛片app| 日本国产一区二区| 日韩欧美激情一区| 五月天激情综合| 成人一区二区三区仙踪林| 91国偷自产一区二区开放时间 | 成人午夜激情片| 国产成人在线网址| 国产情人综合久久777777| 国内精品国产成人国产三级粉色 | 69夜色精品国产69乱| 久久一区二区视频| 久久97超碰国产精品超碰| 国产交换配乱淫视频免费| 日韩视频一区二区| 男女视频一区二区| 男人舔女人下部高潮全视频| 精品国产91亚洲一区二区三区婷婷| 日韩高清在线不卡| 色呦呦一区二区| 日韩一区二区三区av| 欧美aaaaaa午夜精品| 91中文字幕永久在线| 久久久亚洲国产美女国产盗摄| 久久精品国产免费| 亚洲色图第四色| 日本一区二区不卡视频| 成人性视频免费网站| 色综合久久99| 夜夜亚洲天天久久| 亚洲啪av永久无码精品放毛片| 欧美一级一级性生活免费录像| 日本视频在线一区| 成熟人妻av无码专区| 国产欧美精品国产国产专区| 丁香六月久久综合狠狠色| 欧美在线视频第一页| 亚洲男帅同性gay1069| 师生出轨h灌满了1v1| 日韩一本二本av| 亚洲日本韩国一区| 日韩av网站在线观看| 成人做爰69片免费| 91黄色免费看| 亚洲激情五月婷婷| 91网站最新地址| 欧美亚洲综合另类| 亚洲在线免费播放| 国产传媒在线看| 精品国产一区二区三区四区四| 亚洲欧洲日产国码二区| 一区二区在线免费观看视频| 久久精品无码一区二区三区毛片| 欧美亚洲动漫精品| 免费一级欧美片在线观看| 免费91在线观看| 一区二区在线观看免费视频播放| 国产一级二级在线观看| 日本一区二区三区dvd视频在线 | 亚洲成人av福利| 韩国女同性做爰三级| 中文字幕一区二区三中文字幕| 美女又黄又免费的视频| 久久精子c满五个校花| 91丝袜呻吟高潮美腿白嫩在线观看| 在线播放一区二区三区| 国产麻豆精品久久一二三| 欧美亚洲自拍偷拍| 久久99国内精品| 欧洲av一区二区嗯嗯嗯啊| 麻豆91在线播放免费| 亚洲色图综合区| 丝瓜av网站精品一区二区| 中日韩一级黄色片| 日韩高清国产一区在线| 丝袜 亚洲 另类 欧美 重口 | av午夜精品一区二区三区| 日韩一卡二卡三卡四卡| 成人av在线一区二区| 欧美一卡二卡三卡| 不卡av在线网| 精品国产91乱码一区二区三区| 91在线视频观看| 久久久精品欧美丰满| 星空大象在线观看免费播放| 亚洲欧美中日韩| wwwww黄色| 天天色综合成人网| 在线一区二区三区四区五区| 激情五月婷婷综合| 欧美一区二区三区免费在线看| 中文字幕av一区 二区| 国产三级aaa| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久精品一区蜜桃臀影院| 久久av一区二区三| 国产精品久久久久久久久久久免费看 | 日韩一级在线观看| 91日韩精品一区| 国产午夜精品一区二区| 国产熟女高潮一区二区三区| 亚洲欧美色图小说| 久久噜噜色综合一区二区| 日韩国产一区二| 欧美亚洲国产bt| 波多野结衣欧美| 久久精品在线免费观看| 超碰97人人干| 午夜精品久久久久久久99水蜜桃| 69av视频在线| 夫妻av一区二区| 久久女同性恋中文字幕| 亚洲永久无码7777kkk| 亚洲一区二区三区视频在线| 色一情一乱一乱一91av| 国产不卡在线播放| 国产亚洲精品aa午夜观看| 久久久久久久久久久久久久久| 午夜精品久久久久久久久久| 欧美日韩一级大片网址| 欧美性视频一区二区三区| 99久久综合精品| 中文字幕一区二| 亚洲一级生活片| 日本亚洲视频在线| 一区二区高清视频在线观看| 538精品在线观看| 成人免费视频视频| 日本一区二区三区视频视频| 亚洲精品91在线| 精品一区二区三区的国产在线播放 | 久久午夜精品视频| 激情六月婷婷久久| 久久精品无码一区二区三区| 久久久久久国产免费a片| 国内精品久久久久影院色| 国产色产综合产在线视频| 免费看黄色av| 国产一区二区成人久久免费影院| 久久久精品tv| 国产精品国产三级国产传播| 国产.欧美.日韩| 日韩一区有码在线| 欧洲视频一区二区| 日本泡妞xxxx免费视频软件| 性久久久久久久久| 日韩欧美国产综合一区| 久久婷婷五月综合| 国v精品久久久网| 亚洲欧美激情插| 精品视频在线看| 三级黄色片网站| 国内外成人在线| 中文字幕中文乱码欧美一区二区| 国产免费无码一区二区视频| 91免费视频网| 日韩精品国产精品| 久久综合久久综合久久| 99自拍视频在线| 风韵丰满熟妇啪啪区老熟熟女| 日韩精品亚洲专区| 久久日一线二线三线suv| 我要看黄色一级片| 伊人av在线播放| 男人的天堂亚洲一区| 中文字幕高清一区| 欧洲一区二区三区免费视频| 人妻丰满熟妇av无码久久洗澡| 国产在线精品免费| www深夜成人a√在线| 成人av影视在线观看| 亚洲成人一区二区在线观看| 精品久久久久久久久久久久久久久 | 欧美日本在线看| 一区二区三区四区免费| 岛国精品在线播放| 亚洲va在线va天堂| 久久精品亚洲国产奇米99| 欧美亚洲高清一区二区三区不卡| 国产亚洲无码精品| 成人免费视频视频在线观看免费| 天天综合网 天天综合色| 中文一区一区三区高中清不卡| 欧美色成人综合| 精品无码人妻一区二区免费蜜桃| 成a人片亚洲日本久久| 日韩高清不卡一区| 国产精品污www在线观看| 欧美肥妇毛茸茸| 成人无码精品1区2区3区免费看 | 91精品在线一区二区| 黄色av电影网站| 国产一区二区三区免费播放| 一区二区视频在线| 久久色.com| 欧美精品tushy高清| 国产免费一区二区三区四区| 蜜臀av粉嫩av懂色av| 成人黄页在线观看| 九色porny丨国产精品|