Десериализация Джексона с анонимными классамиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Десериализация Джексона с анонимными классами

Сообщение Anonymous »


Я весь день искал что-то, что ответило бы на этот вопрос, но пока мне не повезло.

Мой вопрос прост: как правильно десериализовать анонимный объект с помощью Jackson.

частный интерфейс Interface1 { ИНТ getValue(); } public static void testAnonymousObject() выдает IOException { Сопоставитель ObjectMapper = новый ObjectMapper(); mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); Mapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE); Mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); Mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); Интерфейс1 testObject = новый Интерфейс1() { частное конечное значение int = 5; @Override публичный int getValue() { возвращаемое значение; } }; String json = mapper.writeValueAsString(testObject); System.out.println("JSON = " + json); Получен интерфейс1 = (Интерфейс1) mapper.readValue(json, Object.class); System.out.println(получено); } Вывод: JSON = ["com.foo.test.JacksonTest$1",{"value":5}] прежде, чем я получу исключение:

Исключение в потоке «main» com.fasterxml.jackson.databind.JsonMappingException: невозможно десериализовать класс com.foo.test.JacksonTest$1 (типа локальный/анонимный) как компонент.< /п> РЕДАКТИРОВАТЬ Просто чтобы уточнить: и Jackson, и XStream могут сериализовать объект. Но, похоже, только XStream может десериализовать объект обратно. Так что этот сценарий можно реализовать.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»