首頁 > 後端開發 > Golang > 如何在 Go 中解組期間處理動態 JSON 鍵?

如何在 Go 中解組期間處理動態 JSON 鍵?

Susan Sarandon
發布: 2024-12-07 13:02:13
原創
732 人瀏覽過

How to Handle Dynamic JSON Keys During Unmarshaling in Go?

JSON 解組中的動態鍵處理:GoLang

在GoLang 中,當JSON 中的鍵時,將JSON 資料解組到結構中可能會變得具有挑戰性是動態的或不能直接對應到結構中的特定欄位。本文透過介紹使用映射來捕獲動態鍵及其關聯值來解決此問題。

問題描述:

考慮以下結構:

type X struct {
 A string `json:"a_known_string"`
 B string `json:"b_known_string"`
}
登入後複製

和一個JSON 字串:

"{
 "any string" : {
   "a_known_string" : "some value",
   "b_known_string" : "another value" 
 }
}"
登入後複製

使用🎜>使用具有結構的標準JSON Unmarshal 函數不會捕獲動態鍵“任何字串”。

使用映射的解決方案:

要解決此問題,我們可以使用映射來儲存動態鍵值對。這是一個範例:

var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)
登入後複製

在此解決方案中,m 變數將是一個映射,其中鍵是動態字串,值是 X 結構的實例。

這種方法允許我們捕捉動態鍵及其對應的值,同時仍保持資料的結構化表示。

Playground範例:

提供的Playground 範例示範了解決方案的用法:

https://go.dev/play/p/ tZ27zKhI9Ct

以上是如何在 Go 中解組期間處理動態 JSON 鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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