「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > GOでJSONを非難するときに、voidと不特定のフィールドを区別するにはどうすればよいですか?

GOでJSONを非難するときに、voidと不特定のフィールドを区別するにはどうすればよいですか?

2025-03-23に投稿されました
ブラウズ:432

How Can I Differentiate Between Void and Unspecified Fields When Unmarshaling JSON in Go?

は、go

のjson unmarshaling中にvoid and不特定のフィールドを認識します。 json:

[
  {"Name": "A", "Description": "Monotremata"},
  {"Name": "B"},
  {"Name": "C", "Description": ""}
]

このようなgo構造を定義する場合:

type Category struct {
  Name        string
  Description string
}

jsonをカテゴリインスタンスのスライスに除外して、次の出力を取得します:

[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
JSON。どちらの場合も、説明フィールドはGO表現の空の文字列に設定されています。説明のタイプをポインターに変更することにより、空の文字列値とnil値(不特定のフィールドを示す)を区別できます。 名前文字列 説明 *文字列 }

JSONをこの変更された構造に登場すると、次の出力が得られます。 Cの説明フィールドは、空の文字列へのポインターです(16進メモリアドレスで示されています)。これにより、不特定のフィールドを特定し、プログラムでそれに応じてそれらを処理できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3