首頁 > 後端開發 > Golang > 如何將 JSON 資料部分解組到 Go Map ?

如何將 JSON 資料部分解組到 Go Map ?

Mary-Kate Olsen
發布: 2024-12-22 15:51:11
原創
549 人瀏覽過

How to Partially Unmarshal JSON Data into a Go Map?

如何在Go 中將JSON 部分解組到映射中

在Go 中解組JSON 資料可能很簡單,但在處理嵌套時會出現挑戰其鍵指示資料類型的物件。為了解決這個問題,您可以利用“encoding/json”套件。

在提供的程式碼中,您嘗試將 JSON 資料對應到 map[string][]byte,從而有效地將其轉換為金鑰- 字串和原始 JSON 的值對。但是,json.MapObject 函數不存在,使得該解決方案不可行。

相反,您可以利用 map[string]json.RawMessage 來實現您的目標。 RawMessage 是一種不透明類型,保存未解析的 JSON。使用這種方法,下面的程式碼將提供的 JSON 資料解組到 objmap 變數中:

var objmap map[string]json.RawMessage
err := json.Unmarshal(data, &objmap)
登入後複製

現在,您可以存取 objmap 中的各個鍵值對以進一步解析 JSON 資料。例如,要解析「sendMsg」值:

var s sendMsg
err = json.Unmarshal(objmap["sendMsg"], &s)
登入後複製

同樣,您可以將「say」值解析為字串:

var str string
err = json.Unmarshal(objmap["say"], &str)
登入後複製

注意: 請記住導出sendMsg 結構中的變數以啟用正確的解組。例如:

type sendMsg struct {
    User string
    Msg  string
}
登入後複製

您可以在 https://play.golang.org/p/OrIjvqIsi4-.

找到一個工作範例。

以上是如何將 JSON 資料部分解組到 Go Map ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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