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 サイトの他の関連記事を参照してください。