我正在开发一个带有REST风格的Web服务的GWT Web应用程序。 Web服务的结果是使用Jackson 1.8对POJO进行反序列化。它在简单的领域工作很好。但是,它尝试反序列化POJO列表时失败。这是列表中的POJO反序列化:JSON列表反序列化错误
@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:当程序运行时
{datosIndicadoresSVclave: {
...
"ideologicoVox":[
{
"categoria":"1",
"numeroPalabra":"1",
"palabra":"abandonado",
...
},
{
"categoria":"2",
"numeroPalabra":"3",
"palabra":"hambre",
...
}
],
...
}
}
中, Web服务的结果工作正常,但反序列化打印此错误:
SEVERE:org.codeha us.jackson.map.JsonMappingException:无法将[java.util.ArrayList的实例反序列化为START_OBJECT标记 at [Source:[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(StdDeserializationContext.java:219) 在org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:212)
任何想法??谢谢!!
我已经创建了属性List listaIdeologicoVox的新类,并且我在DatosIndicadoresSVclaveDTO中包含了此引用,但没有工作:SEVERE:org.codehaus.jackson.map.JsonMappingException:无法反序列化组织实例.ull.etsii.client.dto.ListaIdeologicoVOXDTO out of START_ARRAY token at [Source:[email protected];行:1,列:583](通过参考链:org.ull.etsii.client.dto.DatosIndicadoresSVclaveDTO [“ideologicoVox”]) –
2013-04-27 11:27:22