2 回答

TA貢獻1804條經驗 獲得超2個贊
這是 Go 新程序員的常見錯誤。
由于語言設計,json.Unmarshal只能編組到導出字段中。
只需將每個字段名稱的第一個字母大寫即可導出它們。您可以選擇添加字段標簽來告訴 json.Marshal 使用什么鍵名。僅當您要使用json.Marshal.
type ResultStruct struct{
Id int `json:"id"`
Guid string `json:"guid"`
Name string `json:"name"`
}
報價encoding/json包:
要將 JSON 解組為結構,Unmarshal 將傳入的對象鍵與 Marshal 使用的鍵(結構字段名稱或其標簽)進行匹配,更喜歡精確匹配,但也接受不區分大小寫的匹配。Unmarshal 只會設置結構的導出字段。

TA貢獻1843條經驗 獲得超7個贊
你得到一個數組,使用encoding/json包解組它。
type ResultStruct struct {
id int `json:"id"`
guid string `json:"guid"`
name string `json:"name"`
}
type Result struct {
Data []ResultStruct `json:"data"`
}
response := httpClient.Do(request)
var data Result
decErr := json.NewDecoder(response.body).Decode(&data)
fmt.Println(decErr, data)
這應該將數據解組為數組。
- 2 回答
- 0 關注
- 138 瀏覽
添加回答
舉報