ホームページ >バックエンド開発 >Golang >キー名にスペースを含む JSON をアンマーシャルするにはどうすればよいですか?

キー名にスペースを含む JSON をアンマーシャルするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 20:22:11712ブラウズ

How to Unmarshal JSON with Spaces in Key Names?

スペースを含むキー名を使用した JSON のアンマーシャリング

JSON キー名のスペースが、エンコーディング/jsonライブラリ。具体的には、ライブラリはスキーマ内のキー名からスペースを削除するため、混乱と不正なアンマーシャリングが発生します。

解決策

エラーは、JSON タグの指定が間違っていることにあります。あなたの例では:

type Animal struct {
    Name  string `json: "Na me"`
    Order string `json: "Order,omitempty"`
}

Name のタグにはコロンの前にスペースがありますが、これは正しくありません。

type Animal struct {
    Name  string `json:"Na me"`
    Order string `json:"Order,omitempty"`
}

タグ仕様のコロンの後にスペースを入れないでください。この修正により、アンマーシャリングが期待どおりに機能し、JSON データ内のスペースを含むキー名にアクセスできるようになります。

以上がキー名にスペースを含む JSON をアンマーシャルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。