Go 中區分大小寫的JSON Unmarshal
Go 中的json.Unmarshal 函數提供了一種將JSON 資料反序列化為結構體的方法。預設情況下,Unmarshal 在 JSON 鍵和結構體欄位名稱或標籤之間執行不區分大小寫的匹配。但是,在某些情況下,可能需要區分大小寫的匹配。
問題
假設您收到帶有「e」和「等標籤的 JSON 資料E」。您想要解組帶有標籤“e”的物件並忽略帶有“E”的物件。使用預設的不區分大小寫的匹配,Unmarshal 將接受兩個標籤並相應地解組結構。
解決方案
不幸的是,標準 json 庫當前不支援大小寫 - Unmarshal 的敏感匹配。根據官方文件:
To unmarshal JSON into a struct, Unmarshal matches incoming object keys to the keys used by Marshal (either the struct field name or its tag), preferring an exact match but also accepting a case-insensitive match.
因此,使用標準 json 函式庫無法停用不區分大小寫的符合。
以上是如何在 Go 中實作區分大小寫的 JSON Unmarshal?的詳細內容。更多資訊請關注PHP中文網其他相關文章!