Go を使用した JSON での動的キーのアンマーシャリング
JSON データを操作する場合、次のいずれかの場合、構造体にアンマーシャリングするのが困難になることがあります。キーは動的であり、構造体のフィールド名に直接マップすることはできません。これに対処するための実用的な解決策が Golang にあります。
定義された構造体が指定された場合:
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 内の既知のキーと動的キーの両方で、マップを利用できます。
var m map[string]X err := json.Unmarshal([]byte(jsnStr), &m)
このアプローチでは、次のことが可能になります。単一の動的キーの下に複数のオブジェクトを保存し、データ処理の柔軟性を提供します。
プレイグラウンドの例は、[こちら](https://play.golang.org/p/jh-GAlUEo7n) にあります。
以上がGo で動的キーを使用して JSON をアンマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。