2 回答
TA贡献1735条经验 获得超5个赞
使用json.Unmarshal将 JSON 内容转换为地图。
jsonString := `{"user":true,"lname":"con","detail":{"address":"Delhi, India","mob":"0000000009"}}`
aMap := make(map[string]interface{})
err := json.Unmarshal([]byte(jsonString), &aMap)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v\n", aMap)
fmt.Printf("Address := %s\n",aMap["detail"].(map[string]interface{})["address"])
https://play.golang.org/p/3133C_sKDf4
TA贡献1877条经验 获得超1个赞
首先要事。您的 JSON 似乎无效。看起来缺少一些引用。
尝试在此处验证您的示例数据,您会发现它有什么问题。
或者,要将 JSON 解码为映射,您也可以将其解组为结构,只要您提前知道其结构即可。
type User struct {
FirstName string `json:"fname"`
LastName string `json:"lname"`
Detail Detail `json:"detail"`
}
type Detail struct {
Address string `json:"address"`
Mobile string `json:"mob"`
}
if err := json.NewDecoder(strings.NewReader(out)).Decode(&u); err != nil {
log.Fatal(err)
}
- 2 回答
- 0 关注
- 142 浏览
添加回答
举报