ホームページ >バックエンド開発 >Golang >Go で動的キーを使用して JSON をアンマーシャリングするにはどうすればよいですか?

Go で動的キーを使用して JSON をアンマーシャリングするにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-11 02:58:09589ブラウズ

How Can I Unmarshal JSON with a Dynamic Key in Go?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。