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 關注
- 194 瀏覽
添加回答
舉報