JSON 配列を Go 構造体にアンマーシャリングできません
プログラマが JSON API からのデータを解析しようとして、次のエラーが発生しました:パニック: json: 配列を Go の型の値にアンマーシャリングできませんmain.Structure."
問題の抜粋:
type Structure struct { stuff []interface{} } ... decoded := &Structure{} err = json.Unmarshal(body, decoded)
期待される結果:
インターフェイス オブジェクトのリスト。
実際結果:
パニック: json: 配列を main.Structure 型の Go 値にアンマーシャリングできません
解決策:
問題は次の場合に発生します。 JSON 配列を Go 構造体にアンマーシャリングしようとしています。これを解決するには、次のいずれかを実行できます。
var data []interface{} err = json.Unmarshal(body, &data)
type Tick struct { ID string Name string ... and so on } var data []Tick err = json.Unmarshal(body, &data)
応答データの構造に一致するように構造体の型をカスタマイズすることで、アンマーシャリング プロセスは JSON 配列を正常に解析します。
以上が配列を Go 構造体にマッピングするときに JSON アンマーシャルが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。