JsonIgnoreProperties特定のプロパティをデシリアライズプロパティの使用はJSONにのみ存在します

user7294900:

私が追加されますいくつかのコードにつまずいJsonIgnorePropertiesをクラス内に存在するが、中に存在しないプロパティにJSON、例えば:

@JsonIgnoreProperties({"ignoreprop"})
public class VO {
   public String prop;
}

ときJSONです

{ "prop":"1", "ignoreprop":"9999"}

プロパティを無視して任意の利点(s)は、性能面を持っているか、それだけで冗長コードでありますかしら?

(シリアライズ中)特性のいずれかの抑制直列化するために使用される、またはJSON特性処理無視することができるアノテーション(デシリアライズ中に)読み取ります。

EDIT

利点(s)はすべての上に、特定のプロパティを無視して(とがありますか@JsonIgnoreProperties(ignoreUnknown=true))?

Roee Gavirel:

無視する性質がどんな利点があるのだろうか

はい、それはサービスで将来の互換性のために多く使用されています。レッツは、あなたがサービスAとB現在、Aは、いくつかのJSONオブジェクトとBに要求を送信持っていると言います。
今、あなたは、JSONの新しいプロパティをサポートします。あなたがこの機能を持っている場合は、Aは、Bがそれを処理する方法を知っている前に新しいプロパティの送信を開始しましょうすることができます。デカップリングこれら2つのサービスの開発プロセスを。

無視して、特定のすべての上の特性を

この場合は、いくつかのマイナーなパフォーマンス上の利点を持っています。まず、それは単純な文字列や複雑なオブジェクト/配列にすることができ、このプロパティを解析しようとしません。第二に、それはあなたが例外を処理避けることができます。次のすべてが有効な通話することができ、あなただけを気にすることを考えてみようprop

{ "prop":"1", "ignoreprop":"9999"}

{ "prop":"1", "ignoreprop":{ "a": { "key": "value", "foo": false }}}

{ "prop":"1", "ignoreprop":[1,2,3,4,5,6..... 1000000]}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=189451&siteId=1