本文將重點放在 Golang 中解析 JSON 陣列。讓我們探討一下此任務的複雜性:
提供的程式碼示範了 JSON 陣列解析的核心功能,但它有一個嚴重錯誤,導致其無法正常運作。必須匯出 PublicKey 結構中的欄位才能透過 JSON 套件進行存取。
type PublicKey struct { Name string // Error: missing export keyword Price string // Error: missing export keyword }
透過匯出這些字段,解析器可以在解組過程中成功存取它們的值:
type PublicKey struct { Name string Price string }
理解JSON 文字和Go 結構
記住,JSON 欄位名稱是不區分大小寫,而JSON 套件擅長將它們與對應的結構欄位進行比對。但是,如果 JSON 文字中的欄位名稱與結構體明顯不同,您可以利用結構體標籤來指導 json 套件映射欄位。例如:
type PublicKey struct { Name string `json:"some_name"` Price string `json:"JsonPrice"` }
解析複雜的JSON 數據
對於您提供的更複雜的JSON 數據,方法保持不變:
替代方法
如果JSON 結構不容易被自訂Go 結構容納,您可以考慮解組到映射切片中([]地圖[字符串]介面{})。這在存取資料方面提供了更大的靈活性,但需要更多的手動操作,包括索引映射和使用類型斷言來檢索值。
總而言之,請記住導出結構體字段,對複雜字段名稱使用結構體標籤,並選擇最適合您的 JSON 資料結構的方法。
以上是如何在 Go 中解析 JSON 陣列:成功的關鍵是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!