Десериализация Java-карты с Джексоном - PullRequest
1 голос
/ 22 декабря 2011

У меня есть простой POJO, такой как

public class Employee
{
    int level;
    int salary;

    Map<String, String> details; // HashMap
}

Сериализованный объект этого класса выглядит как

{"level":1,"salary":30000, "details":{"address":"ADDRESS", "phone":"12345678"}}

Если предположить, что приведенная выше строка JSON хранится в переменной Java String, называемой json при десериализации с помощью следующего оператора Джексона

Employee employee = new ObjectMapper().readValue(json, Employee.class);

объект создан правильно, исключений не возникает, поля «уровень» и «зарплата» заполнены правильно, но поле «детали» (изначальноHashMap) всегда равен нулю.

Как я могу правильно десериализовать его?

1 Ответ

4 голосов
/ 22 декабря 2011

Джексон правильно десериализовал атрибут details с версией Джексона, которую я имею в моей машине - 1.8.1.Можете ли вы подтвердить, что у вас есть средства доступа, созданные для класса Employee, если нет, то это может быть причиной.

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