我正在開發一個帶有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