有空格的JSON 鍵名稱:解組成為可能
使用包含空格的複雜鍵反序列化JSON 資料通常會在解組過程中帶來挑戰。讓我們研究一下在 Go 中使用編碼/json 庫的具體範例。
問題:
考慮以下JSON 模式:
[ {"Na me": "Platypus", "Order": "Monotremata"}, {"Na me": "Quoll", "Order": "Dasyuromorphia"} ]
使用標準編碼/json 庫將此資料解組到以下Go 中結構結構:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
由於JSON鍵中的空格而導致“名稱”欄位為空。
原因:
空格JSON 鍵中的內容會混淆解組過程。庫嘗試將鍵“Na me”與 Animal 結構中的欄位相匹配,但沒有相應的欄位。
解決方案:
解決此問題,確保json 標籤中的struct field 標籤指定正確的鍵名稱,包括空格:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
使用此修改後的標籤,解組過程可以成功地將JSON鍵映射到正確的結構字段,從而產生預期的輸出:
[ {Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia} ]
以上是如何使用 Go 的 `encoding/json` 解組鍵名稱中帶有空格的 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!