如何解析具有已知和未知鍵/值對的JSON 字元串進入Go 結構體?未知欄位可以具有任何名稱和值類型(字串、布林、float64 或 int)。
使用已知欄位和未知欄位的映射切片建立一個結構體:
<code class="go">type Message struct { Known1 string `json:"known1"` Known2 string `json:"known2"` Unknowns []map[string]interface{} }</code>
將JSON 字串解組到此結構中:
<code class="go">json.Unmarshal([]byte(jsonMsg), &msg)</code>
Unknowns 欄位將包含表示未知鍵/值對的對應清單。
雙重解組:
解組與型別轉換:
所有三種解決方案都是有效的,但最簡單、最優雅的是最初的基於結構的方法。它避免了額外的解組或手動類型轉換的需要。
以上是如何將已知和未知鍵/值對的 JSON 解析為 Go 結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!