Json.Net を使用してプロパティをシリアル化せずに逆シリアル化します
場合によっては、シリアル化された JSON オブジェクトからプロパティを逆シリアル化する必要があるが、シリアル化時にプロパティを書き戻したくない場合があります。 Json.Net を使用してこれを実現する方法を次に示します。
メソッド 1: ShouldSerialize メソッド
Json.Net では、クラス内で ShouldSerialize メソッドを定義することで、条件付きでプロパティをシリアル化できます。 ShouldSerializeBlah() メソッドを作成し (Blah はシリアル化したくないプロパティです)、常に false を返すようにします。
<code>public bool ShouldSerializeObsoleteSetting() { return false; }</code>
方法 2: JObject を使用して JSON を操作する
JObject.FromObject を使用してオブジェクトを JObject にロードします。 JSON に書き込む前に不要な属性を削除してください:
<code>JObject jo = JObject.FromObject(config); jo["ObsoleteSetting"].Parent.Remove(); json = jo.ToString();</code>
方法 3: 属性の悪用
シリアル化したくないプロパティに [JsonIgnore] 属性を適用します。元のプロパティと同じ型と名前でプライベート プロパティ セッターを定義し、同じ JSON 名を使用して [JsonProperty] 属性をそれに適用します:
<code>[JsonIgnore] public Fizz ObsoleteSetting { get; set; } [JsonProperty("ObsoleteSetting")] private Fizz ObsoleteSettingAlternateSetter { set { ObsoleteSetting = value; } }</code>
以上がJSON.Net を使用して JSON プロパティをシリアル化せずに逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。