如何在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中文網其他相關文章!