Могу я узнать, как игнорировать некоторые переменные-члены из класса, объявившего его. Например, ниже представлены 3 класса, которые являются PersonalInfo
и объявлены AcedemicInfo
и FamilyInfo
.Игнорировать часть переменной объявленного объекта при сериализации в 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