JSON共通コメント

JSON注:

1、@ JsonIgnoreProperties:

このアノテーションはクラスのノートで、役割は無視プロパティのいくつかでは、JSONのシリアル化するJava Beanで、シリアライズとデシリアライズが影響を受けます。

この文言は、ラベルモデルクラスのクラス名に適用され、複数の属性は、単一の属性することができ

// 名前と年齢が生成されるJSON属性フィルタ

@JsonIgnoreProperties({「名」}、{「年齢」})

パブリック クラス  ユーザー{ 

プライベート  文字列名; 

プライベート int型の年齢; 

}

2、@JsonIgnore(共通コメント)

この(好ましくは、プロパティ上の)プロパティまたはメソッドに対する注釈、及び上記@JsonIgnorePropertiesとして作用します。

// age属性JSON生成する際に生成されない

パブリック クラスユーザー{ 

プライベート;文字列名

@JsonIgnore 

プライベートの int型の年齢を; 

}

 3、@JsonFormat :(共通コメント)

プロパティまたはメソッド(好ましく性質上)、日付型が容易など、私たちの所望のモードに直接変換することができるため、この注釈:

 

パブリック クラスユーザー{ 
@JsonFormat(パターン
=「YYYY-MM-DD HH-MM- SS」)
プライベート日付。
}

4、@ JsonSerialize:

属性や、その前後2つの小数点以下の桁数の制限など、当社のカスタム直列にコードを埋め込むためのgetterメソッド、ダブルをシリアル化するこの注釈。

JsonDeserialize @ 5:

この注釈は、上記@JsonSerializeに似て私たちの習慣に埋め込まれていてもよいデシリアライズコード、用フィールドまたはセッターメソッドで使用されています

6、@過渡

プロパティは、データベースのフィールドマッピングテーブルがない場合には、それ以外の場合はデフォルトのORMフレームワーク@Basicとして注釈、@Transientとしてそれをマークするようにしてください。

//は、フィールドがデータベーステーブル内にないことを示す

@Transient 

公共 INT getAge(){ 

 リターン。1. 1 + ; 

}

6、@ JsonIgnoreType:

クラスにマークされ、そのような属性などの他のタイプがある場合、属性は無視されます。

7、@ JsonProperty

@JsonPropertyは、属性名とJSONマップを指定することができます。たとえば、私たちは、JSON文字列{「AAA」「USER_NAME」を持っている 、}
、ユーザ名の、マッピングルールの両方を指定するには、この時間は@JsonPropertyで注釈を付けることができ、ルールに従うという名前のJavaこぶを。この注釈は、より一般的です。

パブリック クラスSomeEntity { 

    @JsonProperty( "USER_NAME" 

    プライベート文字列userNameに。

}

 

ノートは唯一の例のシーケンスで有効になります

1. @JsonPropertyOrder

標的配列は、Java POJO JSON文字列になった場合、プロパティは、注文@JsonPropertyOrderのJSON文字列を使用して指定することができます。

二@JsonInclude

標的配列は、プロパティがnullでない場合にのみ、それは例えば、JSON注釈付きプロパティに変換されれる状況を制御する@JsonIncludeアノテーションを使用してJava POJO JSON文字列になったとき。

@JsonInclude(JsonInclude.Include.NON_NULL)
クラスの頭部上の注釈は、JSONにはヌル・タイプ・フィールド、即ち、属性値はシリアライゼーションに参加していないヌルであるエンティティ・クラスのJSON系変換が存在しないフロントエンドに戻します。
例えばNON_EMPTY、NON_DEFAULTなど多くの他の範囲もあります

 

デシリアライズの場合における力の注意事項

1. @ JsonSetter

setterメソッド、同様の@JsonPropertyにマーク@JsonSetter、あなたはまた、問題がJSON JavaのPOJOのキー名とフィールド名が一致しない解決することができます。

おすすめ

転載: www.cnblogs.com/wdss/p/11832315.html