3 回答

TA貢獻1712條經驗 獲得超3個贊
使用encoding/jsonpackage 將數據解組為結構體,如下所示。
type Result struct {
ID string `json:"id"`
Name string `json:"name"`
Test []interface{} `json:"test"`
}
var result Result
json.Unmarshal(contents, &result)
fmt.Println(result.Test)
您還可以解析Test為特定的結構。

TA貢獻1858條經驗 獲得超8個贊
與上一個答案相同,使用 encoding/json 包解組數據。但是如果你不想指定結構,你可以使用 map[string]interface/bson.M{} 來接收數據,并獲取字段,然后轉換為你想要的類型。
m := make(map[string]interface{})
err := json.Unmarshal(data, &m)
if err != nil {
log.Fatal(err)
}
fmt.Println(m["id"])

TA貢獻1846條經驗 獲得超7個贊
如果您只想訪問一個字段,那么您可以使用 jsonq 模塊https://godoc.org/github.com/jmoiron/jsonq
對于您的示例,您可以使用類似于
jq.Object("test")
其中 jq 是從上面的 JSON 構造的 jsonq 查詢對象(有關如何從 JSON 流或字符串創建查詢對象的說明,請參閱 godoc 頁面)。
您還可以使用此庫來檢索 JSON 對象內任意深度的特定字符串、整數、浮點數和布爾值。
- 3 回答
- 0 關注
- 196 瀏覽
添加回答
舉報