Json.Net を使用して JSON シリアル化から属性を除外する方法
Json.Net を使用して DTO オブジェクトをシリアル化する場合、多くの場合、特定の属性を除外する必要があります。プロパティがパブリックであり、アプリケーション内の他の場所で必要な場合でも、シリアル化から除外すると、データ転送が最適化され、シリアル化された JSON サイズが削減されます。
[JsonIgnore] 機能を使用する
簡単な方法は、[JsonIgnore] 属性を使用することです。必須プロパティにこの属性の注釈を付けることで、シリアル化された JSON 出力にそのプロパティが含まれないようにすることができます。例:
<code class="language-csharp">public class Car { [JsonIgnore] public DateTime LastModified { get; set; } }</code>
この例では、LastModified 属性が Car クラスのシリアル化された JSON 表現から除外されます。
DataContract 属性と DataMember 属性の使用
あるいは、DataContract 機能と DataMember 機能を利用することもできます。 [DataContract] をクラスに適用し、[DataMember] を含めるプロパティに適用することで、シリアル化するプロパティを選択的に制御できます。例:
<code class="language-csharp">[DataContract] public class Computer { [DataMember] public string Name { get; set; } [DataMember] public decimal SalePrice { get; set; } }</code>
[DataMember] の注釈が付けられていないプロパティは、シリアル化された JSON から省略されます。
これらのテクノロジーに関するより包括的な情報については、Json.Net ドキュメントを参照してください。
以上がJson.Net での JSON シリアル化からプロパティを除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。