System.Text.Json でのコントラクトのカスタマイズの実装
System.Text.Json; のコントラクトのカスタマイズ。 Newtonsoft.Json は、.NET 7 で利用可能になります。これにより、ユーザー定義のシリアル化と逆シリアル化が可能になります。 rules.
IJsonTypeInfoResolver の紹介
IJsonTypeInfoResolver インターフェイスは、コントラクトのカスタマイズの中心となります。このインターフェイスの実装は、コントラクトのカスタマイズ用のメタデータを提供し、デフォルトのシリアル化動作を変更します。
DefaultJsonTypeInfoResolver の使用
DefaultJsonTypeInfoResolver クラスは、デフォルトのシリアル化をカスタマイズする簡単な方法を提供します。特定の要件に合わせて拡張または変更できます。
SelectiveSerializer を修飾子で置き換える
修飾子を使用して SelectiveSerializer を DefaultJsonTypeInfoResolver に変換するには、次を使用できます。アプローチ:
変更プロセスを簡素化するために流暢な拡張メソッドを定義します:
// ... code to define SerializeSelectedFields extension methods ...
カスタマイズされた JsonSerializerOptions を設定しますリゾルバ:
var options = new JsonSerializerOptions { TypeInfoResolver = new DefaultJsonTypeInfoResolver() .SerializeSelectedFields("FirstName,Email,Id"), // ... other options as required ... };
メモ:
以上が.NET 7 のコントラクト カスタマイズを使用して System.Text.Json のシリアル化と逆シリアル化をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。