如何解决创建go结构以接受带有匿名顶级项的json
我正在接收此结构,并且不知道如何创建go结构以将其编组为:
[ { “ searchinfo”:[ { “ PrefProv”:“ 68”, “语言”:“乌兹别克语” } ] } ]
我如何定义将其解组的go结构?
解决方法
这里有个例子:
package main
import (
"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",itemInfo.Language)
}
}
}
结果:
[{Searchinfo:[{PrefProv:68 Language:Uzbek}]}]
---------
Iterating element [0] of itemStruct: [{Searchinfo:[{PrefProv:68 Language:Uzbek}]}]
[0] PrefProv: 68
[0] Language: Uzbek
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。