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のキー名とフィールド名が一致しない解決することができます。