値型が混在した JSON 配列のデコード
場合によっては、異なる型の要素を含む JSON 配列が発生することがあります。例:
{["NewYork",123]}
Go 配列では型を明示的に指定する必要がありますが、混合型の配列を扱う場合は困難になる可能性があります。
インターフェイスを使用した解決策{}
混合型の配列を処理するには、任意の型の値を許可するインターフェース型を利用できます。{} Go でこれを実現する方法は次のとおりです。
package main import ( "encoding/json" "fmt" ) type UntypedJson map[string][]interface{} func main() { j := `{"NYC": ["NewYork",123]}` ut := UntypedJson{} err := json.Unmarshal([]byte(j), &ut) if err != nil { fmt.Println(err) return } fmt.Printf("%#v", ut) }
注: JSON オブジェクトにはキーが必要であるため、提供された JSON の例は技術的に無効であることに注意してください。修正された例は次のようになります:
{"NYC": ["NewYork",123]}
以上がGo でデータ型が混在した JSON 配列をデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。