首頁 > 後端開發 > Golang > 如何在 Go 中實作區分大小寫的 JSON 解組?

如何在 Go 中實作區分大小寫的 JSON 解組?

Barbara Streisand
發布: 2024-11-10 01:27:02
原創
398 人瀏覽過

How to Achieve Case-Sensitive JSON Unmarshaling in Go?

處理區分大小寫的 JSON 解組

使用 JSON 時,可能會出現在解組過程中需要區分大小寫處理的情況。然而,Go 中的標準 JSON 函式庫會優先考慮不區分大小寫的匹配,這可能會導致意外的行為。

不區分大小寫的匹配行為

根據官方文檔,在解組期間,傳入的 JSON 鍵是與結構字段名稱或標籤進行比較。該庫更喜歡精確匹配,但也容忍不區分大小寫的匹配。例如,如果您收到包含“e”和“E”等鍵的 JSON,並且希望僅解組“e”變體,這可能會導致衝突。

缺乏區分大小寫的解組

遺憾的是,標準 JSON 庫目前沒有提供一種簡單的機制來禁用不區分大小寫的解組。 https://golang.org/pkg/encoding/json/#Unmarshal 上的文件明確指出:

「Unmarshal 將傳入物件鍵與 Marshal使用的鍵(結構體字段名稱或其標籤)進行匹配,更喜歡完全匹配,但也接受不區分大小寫的匹配。不提供開箱即用的解決方案,一種可能的解決方法是透過擴充encoding/json 套件來建立自訂JSON 解碼器。此解碼器可以實現字段級區分大小寫的解組機制,忽略具有不同大小寫的標籤。

以上是如何在 Go 中實作區分大小寫的 JSON 解組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板