私はそれを宣言したクラスからいくつかのメンバ変数を無視する方法を知っているかもしれません。たとえば、PersonalInfo
であり、AcedemicInfo
とFamilyInfo
で宣言されている3つのクラスを次に示します。JSONにシリアル化するときに、宣言されたオブジェクトの変数の一部を無視しますか?
public class PersonalInfo {
@JsonPropetry
private String name;
@JsonPropetry
String universityName;
@JsonPropetry
private String motherName;
@JsonPropetry
private String fatherName;
/* Set and Get*/
}
public class AcademicInfo {
@JsonPropetry
private PersonalInfo info; // need name and university only
/* Set and Get*/
}
public class FamilyInfo {
@JsonPropetry
private PersonalInfo info; // need name and fatherName and motherName only
/* Set and Get*/
}
はしかし、私はPersonalInfo
からすべての属性を必要としないAcedemicInfo
とFamilyInfo
などPersonalInfo
のメンバ変数のいくつかを無視する必要があります。
は私の所望の出力
// Acedemic info json
{
"info" : {
"name":"Adam",
"universityName":"University"
}
}
// Family info json
{
"info" : {
"name":"Adam",
"fatherName":"Matt"
"motherName":"Jane"
}
}
である私は約@JsonIgnore
を知っているが、私はPersonalInfo
クラスに注釈を入れた場合、変数がどのような私ではないことを宣言するすべてのクラスによって無視されます欲しいです。変数を条件付きで無視する方法を知っていますか?私の悪い英語を申し訳ありません。
@JsonIgnoreを試しましたか? – Rustam
@JsonIgnoreはあなたのためにこれを解決するはずです – user3765370
@Rustam、はい、私はそれを試みました。しかし私は私の場合にそれをどのように適用するのか分かりません。条件付きで '@ JsonIgnore'を適用できますか、それを呼び出すクラスに依存できますか? – karfai