猿问

创建 go 结构以接受带有匿名顶级项目的 json

我收到了这个结构,但不知道如何创建 go 结构来将其编组为:

[ { "searchinfo": [ { "PrefProv": "68", "Language": "乌兹别克语" } ] } ]

如何定义 go 结构以将其解组?


慕尼黑5688855
浏览 144回答 1
1回答

繁星点点滴滴

这里有一个例子:package mainimport (    "encoding/json"    "fmt")type RawStruct []struct {    Searchinfo []struct {        PrefProv string `json:"PrefProv"`        Language string `json:"Language"`    } `json:"searchinfo"`}func main() {    raw_data := `[{"searchinfo":[{"PrefProv":"68","Language":"Uzbek"}]}]`    var rawStruct RawStruct    if err := json.Unmarshal([]byte(raw_data), &rawStruct); err != nil {        panic(err.Error())    }    fmt.Printf("%+v\n", rawStruct)    fmt.Println("---------")    for indexStruct, itemStruct := range rawStruct {        fmt.Printf("Iterating element [%d] of itemStruct: [%+v]\n", indexStruct, itemStruct)        for indexInfo, itemInfo := range itemStruct.Searchinfo {            fmt.Printf("[%d] PrefProv: %s\n", indexInfo, itemInfo.PrefProv)            fmt.Printf("[%d] Language: %s\n", indexInfo, itemInfo.Language)        }    }}结果:[{Searchinfo:[{PrefProv:68 Language:Uzbek}]}]---------Iterating element [0] of itemStruct: [{Searchinfo:[{PrefProv:68 Language:Uzbek}]}][0] PrefProv: 68[0] Language: Uzbek
随时随地看视频慕课网APP

相关分类

Go
我要回答