джексон мини джсон к объекту класса - PullRequest
3 голосов
/ 01 декабря 2011

Я добавил в свой проект "jackson-mini-1.9.2.jar" (это не "jackson-all-1.9.2.jar"), я хочу преобразовать json в класс объектов.

Используйте «jackson-all-1.9.2.jar», мы можем использовать «ObjectMapper», чтобы получить его.но используйте "jackson-mini-1.9.2.jar", как это сделать?

Если я напишу следующий код "

    String json = "{\"name\" : {\"first\" : \"Joe\", \"last\" : \"Sixpack\" }, \"gender\" : \"MALE\",   \"verified\" : false,   \"userImage\" : \"Rm9vYmFyIQ==\" }";
    JsonFactory f = new JsonFactory();
    JsonParser jp = f.createJsonParser(json);

    User user = jp.readValueAs(User.class);

Результат будет такой:

Исключение в потоке "main" java.lang.IllegalStateException: не определен ObjectCodec для анализатора, не может десериализовать JSON в объекты Java в org.codehaus.jackson.JsonParser.readValueAs (неизвестный источник) в TestJackson.main (TestJackson.Java: 21) * +1010 *

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Вы можете реализовать свой собственный ObjectCodec и затем зарегистрировать его в JsonFactory, вызвав JsonFactory#setCodec(myCodec).

или (намного проще!), Просто заполучив jackson-mapper-1.9.2.jar и добавьте его в classpath, чтобы вы могли использовать значение по умолчанию ObjectMapper.

1 голос
/ 01 декабря 2011

Если вы хотите использовать привязку данных, НЕ используйте мини-jar.Он предназначен для использования в качестве наименьшего банка для потокового анализа (JsonParser, JsonGenerator).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...