動的キーを使用した JSON アンマーシャリング
構造体の静的フィールドとしてキャプチャできない動的キーを使用した JSON のアンマーシャリングは、以下で実現できます。を使用して移動しますmap.
例:
次の JSON データを考えてみましょう:
{ "any string" : { "a_known_string" : "some value", "b_known_string" : "another value" } }
そして構造体:
type X struct { A string `json:"a_known_string"` B string `json:"b_known_string"` }
解決策:
へ動的キーと既知の値をキャプチャするには、構造体の代わりにマップを使用します:
import "encoding/json" var m map[string]X err := json.Unmarshal([]byte(jsonStr), &m) if err != nil { // Handle error } // Access the data using the dynamic key dynamicKeyData := m["any string"]
このシナリオでは、map[string]X 型により動的キー「任意の文字列」を使用できます。 X 構造体の既知の値とともにキャプチャされます。
以上がGo で動的キーを使用して JSON をアンマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。