저는 Jackson을 사용하고 있으며 하위 클래스의 필드를 하위 요소로 직렬화하려고합니다. 불행히도 잭슨은 끔찍한 기록을 가지고 있습니다. 실제로 서브 클래스의 필드는 하위 요소가되고 싶어요 동안, {"name":"test task","createdOn":1372771395040,"age":25,"grade":4}
:하위 클래스로 서브 클래스 직렬화
@JsonRootName(value = "subclass")
public class ProfilerTask extends Task {
private int age;
private int grade;
public ProfilerTask(String name, Date createdOn, int age, int grade) {
super(name, createdOn);
this.age = age;
this.grade = grade;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @return the grade
*/
public int getGrade() {
return grade;
}
}
나는이납니다.
하위 요소를 갖고 싶으면 상속 대신 컴포지션을 사용해야합니다. –
안녕하세요, 어떻게 든 잭슨이 현재 레벨이 아닌 1 레벨 아래에 필드를 쓰라고 말할 수 있습니까? – damluar