配列と構造体型のアンマーシャリング
JSON データを構造体に解析しようとする場合、データ構造と構造体の互換性を確保することが重要です。ターゲットタイプ。次のエラー メッセージ:
panic: json: cannot unmarshal array into Go value of type main.Structure
は、アプリケーションが配列を JSON から別の型を予期する構造体にアンマーシャリングしようとしていることを示します。
この問題を解決するには、次の解決策を検討してください。 :
JSON データがオブジェクトの配列の場合、JSON データの構造に応じて、インターフェイスのスライスまたは特定の構造体のスライスにアンマーシャリングします。
var data []interface{} err = json.Unmarshal(body, &data) // Unmarshal to specific structs: type Tick struct { ID string Name string ... } var data []Tick err = json.Unmarshal(body, &data)
既存の構造体を保持する必要がある場合は、配列を受け入れるようにそのフィールドの型を変更することを検討してください:
type Structure struct { stuff [][]interface{} // Change to a slice of slices }
以上が「json: 配列を main.Structure 型の Go 値にアンマーシャリングできません」が発生する理由と修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。