ホームページ > バックエンド開発 > C++ > C# で既知フィールドと未知フィールドの両方を含む JSON を逆シリアル化するにはどうすればよいですか?

C# で既知フィールドと未知フィールドの両方を含む JSON を逆シリアル化するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-18 09:17:10
オリジナル
115 人が閲覧しました

How Can I Deserialize JSON with Both Known and Unknown Fields in C#?

C# での既知および未知のフィールドの JSON 逆シリアル化

JSON の結果に既知のフィールドと未知のフィールドが含まれている場合、通常、簡単にアクセスして変更できるように、未知のフィールドを辞書にマップする必要があります。これを実現するには複数の方法がありますが、JSON .NET で JsonExtensionDataAttribute を使用すると便利な解決策が得られます。

JsonExtensionDataAttribute 属性を使用すると、追加の不明フィールドを保持する属性を指定できます。例は次のとおりです:

<code class="language-csharp">public class Product
{
    public string id { get; set; }
    public string name { get; set; }

    [JsonExtensionData]
    private IDictionary<string, JToken> _extraFields;
}</code>
ログイン後にコピー

この属性を使用すると、不明なフィールドは文字列キー (フィールド名) と _extraFields 値 (フィールド値) の辞書である JToken 属性に保存されます。これにより、コード内の未知のフィールドに簡単にアクセスして変更できるようになります。

この方法には JSON .NET v5 バージョン 5 以降が必要であることに注意してください。以前のバージョンを使用している場合は、カスタム コントラクト パーサーやカスタム コンバータの使用など、元の記事で説明されている他のオプションを検討することもできます。

以上がC# で既知フィールドと未知フィールドの両方を含む JSON を逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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