在 Go 中,JSON 資料被解組到預先定義的結構中。但是,當金鑰值的類型在請求之間可能有所不同時,某些 API 回應可能會帶來挑戰。例如,API 可能傳回特定鍵的內聯物件或物件參考。
要處理這種可變性,請考慮使用以下方法:
type Data struct { MyKey []interface{} `json:"mykey"` }
此結構解組兩個內聯物件以及對介面數組的物件參考。透過在解組後使用類型開關,您可以確定數組中每個元素的實際類型:
for _, v := range data.MyKey { switch x := v.(type) { case string: fmt.Println("Got a string: ", x) case map[string]interface{}: fmt.Printf("Got an object: %#v\n", x) } }
此方法允許您以靈活且慣用的方式解析具有可變數組字段類型的JSON 數據。
以上是如何在 Go 中使用可變數組字段類型解組 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!