既知および未知のキー/値ペアを使用して JSON 文字列を解析するにはどうすればよいですかGo 構造体に入れる?未知のフィールドには、任意の名前と値の型 (string、bool、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 フィールドには、不明なキー/値のペアを表すマップのリストが含まれます。
ダブル アンマーシャル:
アンマーシャルと型変換:
3 つの解決策はすべて有効ですが、最も単純で洗練されたのは最初の構造体ベースのアプローチです。これにより、追加のアンマーシャルや手動の型変換の必要がなくなります。
以上が既知および未知のキー/値ペアを含む JSON を Go 構造体に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。