スペースを含む JSON キー名: アンマーシャリングが可能
スペースを含む複雑なキーを含む JSON データをデシリアライズすると、アンマーシャリング中に問題が発生することがよくあります。 Go のエンコーディング/json ライブラリを使用した具体的な例を調べてみましょう。
問題:
次の JSON スキーマを考えてみましょう:
[ {"Na me": "Platypus", "Order": "Monotremata"}, {"Na me": "Quoll", "Order": "Dasyuromorphia"} ]
使用このデータを次の Go にアンマーシャリングするための標準エンコーディング/json ライブラリstruct:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
は、JSON キーにスペースがあるため、空の「名前」フィールドになります。
原因:
スペースJSON キーにあると、アンマーシャリング プロセスが混乱します。ライブラリはキー「Na me」を Animal 構造体のフィールドと照合しようとしますが、対応するフィールドがありません。
解決策:
この問題を解決するには、json タグ内の struct フィールド タグでスペースを含む正しいキー名が指定されていることを確認してください:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
この改訂されたタグ付けでは、アンマーシャリング プロセスは、JSON キーを正しい構造体フィールドに正常にマップでき、期待される出力が得られます:
[ {Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia} ]
以上がGo の「encoding/json」を使用して、キー名にスペースが含まれる JSON をアンマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。