亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有 JSON 和 Golang 的無限結構

帶有 JSON 和 Golang 的無限結構

Go
慕森王 2023-05-08 18:05:07
我不知道如何用 Golang 解組這種 JSON 結構。我從 REST API 得到響應。鍵是動態的,嵌套的鍵和值也是動態的..{"key1":{"col1":"Data11","col2":"Data12","col3":"Data13","col4":"Data14"}, "key2":{"col1":"Data21","col2":"Data22","col3":"Data23","col4":"Data24"}, "key3":{"col1":"Data31","col2":"Data32","col3":"Data33","col4":"Data34"}, "key4":{"col1":"Data41","col2":"Data42","col3":"Data43","col4":"Data44"}, "key5":{"col1":"Data51","col2":"Data52","col3":"Data53","col4":"Data54"}, "key6":{"col1":"Data61","col2":"Data62","col3":"Data63","col4":"Data64"}}我嘗試使用 JsonToStruct,我顯然明白了:type AutoGenerated struct {    Key1 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key1"`    Key2 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key2"`    Key3 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key3"`    Key4 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key4"`    Key5 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key5"`    Key6 struct {        Col1 string `json:"col1"`        Col2 string `json:"col2"`        Col3 string `json:"col3"`        Col4 string `json:"col4"`    } `json:"key6"`}但是我不知道我將在響應中獲得的密鑰的名稱,因此我需要一個通用的解組。我卡住了。
查看完整描述

1 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

您需要將數據解組為 map[string]map[string]string,如下所示:


jsonData:="{\"key1\":{\"col1\":\"Data11\",\"col2\":\"Data12\",\"col3\":\"Data13\",\"col4\":\"Data14\"}, \"key2\":{\"col1\":\"Data21\",\"col2\":\"Data22\",\"col3\":\"Data23\",\"col4\":\"Data24\"}, \"key3\":{\"col1\":\"Data31\",\"col2\":\"Data32\",\"col3\":\"Data33\",\"col4\":\"Data34\"}, \"key4\":{\"col1\":\"Data41\",\"col2\":\"Data42\",\"col3\":\"Data43\",\"col4\":\"Data44\"}, \"key5\":{\"col1\":\"Data51\",\"col2\":\"Data52\",\"col3\":\"Data53\",\"col4\":\"Data54\"}, \"key6\":{\"col1\":\"Data61\",\"col2\":\"Data62\",\"col3\":\"Data63\",\"col4\":\"Data64\"}}"

    var jsonObject map[string]map[string]string

    json.Unmarshal([]byte(jsonData),&jsonObject)

    for k:=range jsonObject{

        fmt.Println(k ," has " , len(jsonObject[k]) , " fields")

        for j:=range jsonObject[k]{

            fmt.Println(j , "=",jsonObject[k][j] )

        }

    }


查看完整回答
反對 回復 2023-05-08
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號