ホームページ >バックエンド開発 >Golang >Go の「encoding/json」を使用して、キーにスペースが含まれる JSON データを正常にアンマーシャリングするにはどうすればよいですか?

Go の「encoding/json」を使用して、キーにスペースが含まれる JSON データを正常にアンマーシャリングするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-23 22:50:12920ブラウズ

How Can I Successfully Unmarshal JSON Data with Spaces in Keys Using Go's `encoding/json`?

JSON キーのスペース: アンマーシャリングの障害を克服する

スペースを含むキーを使用して JSON データをアンマーシャリングすると、標準エンコーディング/json に課題が生じる可能性がありますGo のライブラリ。デフォルトでは、ライブラリはスペースを含まない JSON キーとフィールド名を照合しようとします。提供されたコード内:

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

JSON データの Name キーがこのパターンと競合します。このエラーは、JSON キーを正確に反映するように json タグを変更することで解決できます。

type Animal struct {
    Name  string `json:"Na me"` // Corrected the space after the colon
    Order string `json:"Order,omitempty"`
}

エンコーディング/json のドキュメントに記載されているように、json タグではコロンの後にスペースを使用できません。このガイダンスに従うことで、アンマーシャリング プロセスは JSON キーを正しく識別し、Animal 構造体の対応するフィールドにマッピングできるようになります。修正されたコードを実行すると、期待される出力が得られます:

[{Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia}]

以上がGo の「encoding/json」を使用して、キーにスペースが含まれる JSON データを正常にアンマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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