解組數組和結構類型
嘗試將JSON 資料解析為結構時,確保資料結構與結構之間的相容性至關重要目標類型。以下錯誤訊息:
panic: json: cannot unmarshal array into Go value of type main.Structure
表示應用程式正在嘗試將 JSON 中的陣列解組為需要不同類型的結構。
要解決此問題,請考慮以下解決方案:
如果JSON 資料是物件數組,則根據JSON 資料的結構將其解組為介面{}的切片或特定結構的切片:
var data []interface{} err = json.Unmarshal(body, &data) // Unmarshal to specific structs: type Tick struct { ID string Name string ... } var data []Tick err = json.Unmarshal(body, &data)
如果需要保留現有結構體,請考慮修改其欄位類型以接受陣列:
type Structure struct { stuff [][]interface{} // Change to a slice of slices }
以上是為什麼會出現「json:無法將陣列解組為 main.Structure 類型的 Go 值」以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!