Java杰克逊 - XML到POJO
问题描述:
我已经使用杰克逊之前将JSON转换为POJO,并且工作正常,现在我正在尝试使用XML并且我遇到困难。Java杰克逊 - XML到POJO
我有以下代码:
ObjectMapper xmlMapper = new XmlMapper();
GoodreadsResponse response = xmlMapper.readValue("<GoodreadsResponse><Request><authentication>true</authentication></Request><book><id>6465707</id></book></GoodreadsResponse>", GoodreadsResponse.class);
System.out.println(response);
GoodreadsResponse.java
@JacksonXmlRootElement(localName = "GoodreadsResponse")
public class GoodreadsResponse {
@JacksonXmlProperty(localName = "book")
private Book book;
public Book getBook() { return book; }
}
Book.java
public class Book {
@JacksonXmlProperty(localName = "id")
private String id;
public String getId() { return id; }
}
我得到以下错误:
Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/codehaus/stax2/ri/Stax2ReaderAdapter
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:1
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:108)
at com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.<init>(FromXmlParser.java:171)
at com.fasterxml.jackson.dataformat.xml.XmlFactory._createParser(XmlFactory.java:546)
at com.fasterxml.jackson.dataformat.xml.XmlFactory.createParser(XmlFactory.java:418)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2146)
无论我做什么,我都无法让它工作,我不确定我的班级是否正确。
有人可以看看,看看他们是否可以指出我在正确的方向。
感谢
定义不工作,你有什么输出?它抛出一个异常? – proulxs 2014-09-30 15:00:43
对不起,错误补充。 – 2014-09-30 16:02:21
因此,它无法在您的类路径中找到org/codehaus/stax2/ri/Stax2ReaderAdapter类。 – proulxs 2014-09-30 16:04:23