ホームページ > バックエンド開発 > Golang > 「json: 配列を main.Structure 型の Go 値にアンマーシャリングできません」を修正する方法?

「json: 配列を main.Structure 型の Go 値にアンマーシャリングできません」を修正する方法?

Susan Sarandon
リリース: 2024-11-29 01:46:09
オリジナル
911 人が閲覧しました

How to Fix

JSON 配列を Go Struct にアンマーシャルする方法

API から JSON データを解析しようとすると、「パニック: json: アンマーシャルできません」というエラーが発生する場合があります。配列を main.Structure."

型の Go 値に変換するコード スニペット問題

type Structure struct {
     stuff []interface{}
}

... // more code

decoded := &Structure{}
err = json.Unmarshal(body, decoded)
ログイン後にコピー

問題

問題の根本は、JSON 配列を Go 構造体にアンマーシャリングしようとする試みです。

解決策

オプション 1: へのアンマーシャルスライス

構造体を使用する代わりに、JSON 配列をインターフェイスのスライスにアンマーシャリングします。{}:

var data []interface{}
err = json.Unmarshal(body, &data)
ログイン後にコピー

オプション 2: 構造体のスライスにアンマーシャリングします

JSON データに特定の構造がある場合は、次のスライスを作成することを検討してください。応答データに一致する構造体:

type Tick struct {...}
var data []Tick
err = json.Unmarshal(body, &data)
ログイン後にコピー

以上が「json: 配列を main.Structure 型の Go 値にアンマーシャリングできません」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート