저는 RESTful 웹 서비스로 GWT 웹 애플리케이션을 개발 중입니다. 웹 서비스의 결과는 Jackson 1.8에서 POJO로 deserialize됩니다. 간단한 필드만으로도 잘 작동합니다. 그러나 POJO 목록을 deserialize하려고하면 실패합니다. 는이 실행중인 경우JSON 목록의 역 직렬화 오류
{datosIndicadoresSVclave: {
...
"ideologicoVox":[
{
"categoria":"1",
"numeroPalabra":"1",
"palabra":"abandonado",
...
},
{
"categoria":"2",
"numeroPalabra":"3",
"palabra":"hambre",
...
}
],
...
}
}
:이 목록과 POJO가 역 직렬화하는 것입니다
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class DatosIndicadoresSVclaveDTO implements Serializable {
...
@XmlAttribute
@JsonDeserialize(contentAs = IdeologicoVOXDTO.class)
public List<IdeologicoVOXDTO> ideologicoVox;
...
//getter/setters
}
을 그리고 이것은
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class IdeologicoVOXDTO implements Serializable {
@XmlAttribute
private Integer numeroPalabra;
@XmlAttribute
private String palabra;
@XmlAttribute
private Integer categoria;
...
//getter/setters
}
json으로는이 구조를 가지고있는 목록이 들어있는 POJO입니다 웹 서비스의 결과는 정상적으로 작동하지만 deserialize하면이 오류가 인쇄됩니다.
심각도 : org.codeha us.jackson.map.JsonMappingException : [출처 : [email protected]; (참조 체인을 통해 : org.ull.etsii.client.dto.DatosIndicadoresSVclaveDTO [ "ideologicoVox"]) at org.codehaus.jackson.map.JsonMappingException.from (JsonMappingException.java:163) org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException에서 org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException (StdDeserializationContext.java:219) 에서 (StdDeserializationContext.java:212)
어떤 생각 ?? 감사!!
List listaIdeologicoVox 속성을 사용하여 새 클래스를 만들었고이 설명을 DatosIndicadoresSVclaveDTO에 포함 시켰지만 작동하지 않았습니다. 심각 : org.codehaus.jackson.map.JsonMappingException : org 인스턴스를 deserialize 할 수 없습니다. START_ARRAY 토큰 중 .ull.etsii.client.dto.ListaIdeologicoVOXDTO [출처 : [email protected]; 라인 : 1, 컬럼 : 583] (참조 체인을 통해 : org.ull.etsii.client.dto.DatosIndicadoresSVclaveDTO [ "ideologicoVox"]) –