2014-09-30 5 views
1

Я использовал Jackson прежде, чем конвертировать JSON в POJO, и это работает отлично, теперь я пытаюсь сделать это с XML, и у меня возникают трудности.Java Jackson - XML ​​to 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) 

Что бы я ни делал, я не могу заставить его работать, я не уверен, правильно ли мои классы или нет.

Может кто-нибудь посмотреть и посмотреть, могут ли они указать мне в правильном направлении.

Благодаря

+0

Определение не работает, то, что ваш вывод? Это исключение? – proulxs

+0

извините, ошибка добавлена. –

+2

Таким образом, он не может найти класс org/codehaus/stax2/ri/Stax2ReaderAdapter в вашем пути к классам. – proulxs

ответ

0

Я добавил strax2-API и ДЖЕКСОН-модуль JAXB-аннотации библиотека, и теперь он работает :)

+0

Вы имеете в виду 'stax2-api'? – Jonik

Смежные вопросы