在Golang 中處理帶有動態鍵的JSON 回應
當遇到帶有任意鍵的JSON 回應時,建立對應的回應時,建立對應的回應結構體可能會很困難。一個這樣的範例是提供的 JSON 回應,其中包含具有表示圖像大小的不同鍵的巢狀地圖。
要解決此問題,請考慮使用基於地圖的資料結構。在 Golang 中,映射是鍵值對的集合,其中鍵是字串。
解決方案:
定義一個結構體來表示外部「Items」鍵:
type Items struct { Name string `json:"name"` Images map[string][]ImageUrl `json:"image_urls"` }
這裡,「image_urls」欄位被宣告為一個映射,其中鍵是字串(代表圖像大小),值是ImageUrl 結構的切片。
ImageUrl 結構:
type ImageUrl struct { Url string `json:"url"` Width, Height int `json:"width,height"` }
此結構代表單一影像 URL 及其尺寸。
用法:
要將JSON 解組到Items 結構中,請使用:
var items Items json.Unmarshal(jsonData, &items)
使用映射的好處:
以上是如何在 Go 中使用動態鍵處理 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!