XML로 출력 할 때 POJO 클래스를 직렬화하고 싶습니다. 원하는대로 완벽하게 작동합니다. 하지만 JSON은 아닙니다.jackson으로 일반 JSON을 직렬화
내 주요 POJO 클래스
@XmlRootElement(name="result")
@XmlSeeAlso({ResultDataRowItemTest.class})
public class ResultDataRowTest {
private ResultDataRowItemTest response;
public ResultDataRowTest() {}
public ResultDataRowItemTest getResponse() {return response;}
public void setResponse(ResultDataRowItemTest pst) {this.response = pst;}
}
ResultDataRowItemTest 클래스 :
public class ResultDataRowItemTest<T> {
private T item;
public ResultDataRowItemTest() {}
@JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT)
@XmlElements({
@XmlElement(name="user", type=RetUser.class)
})
public T getItem() {return item;}
public void setItem(T pst) {this.item = pst;}
}
RetUser 클래스 :
<result>
<response>
<user>
<firstName>John</firstName>
<lastName>Pantau</lastName>
<userID>5</userID>
<userName>JohnP</userName>
</user>
</response>
</result>
,536 다음 XML에 대한
@JsonTypeName("user")
@XmlRootElement(name="user")
public class RetUser {
private int userID;
private String userName;
private String firstName;
private String lastName;
public String getUserName() {return userName;}
public void setUserName(String userName) {this.userName = userName;}
public int getUserID() {return userID;}
public void setUserID(int userID) {this.userID = userID;}
public String getFirstName() {return firstName;}
public void setFirstName(String firstName) {this.firstName = firstName;}
public String getLastName() {return lastName;}
public void setLastName(String lastName) {this.lastName = lastName;}
}
결과
다음은 JSON에 대한 결과입니다 :
{"response":{
"item":{
"user":{
"userID":5,
"userName":"JohnP",
"firstName":"John",
"lastName":"Pantau"
}
}
}}
문제는 어떻게 JSON에 대해 "항목을"개체를 제거하는 것입니다? 결과는 XML과 같습니다.
그래서 많은 감사는 당신은 JSON에 대한 XML 잭슨에 대한 JAXB를 사용하고있다처럼
맞아, 봄을 이용해 휴식 서비스를 만듭니다. 그래서 반환/응답 POJO 클래스를 만들어야합니다. 지금까지는 XML과 함께 작동합니다. Jackson으로 JSON을 찾고 있습니다. 답장을 보내 주셔서 감사합니다. – iJusran
jackson annotation을 지정하면 무슨 뜻인지 설명 할 수 있습니까? 귀하의 답변에 대해 – iJusran