Десериализовать именованный список с Джексоном в список - PullRequest
0 голосов
/ 28 августа 2018

Я хочу десериализовать json из String.class с такой структурой:

{"listName": [{"prop":"value"},{"prop":"value"}, ... ] }

до List<PropVo>, где PropVo содержит String prop в качестве поля.

  • Я не хочу создавать класс-оболочку с List<PropVo>
  • Я не хочу использовать подстроку

Можно ли просто десериализовать список?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Другой способ - использовать readTree

Пример:

ObjectMapper om = new ObjectMapper();
JsonNode list = om.readTree(json).path("listName");
List<PropVo> result = Arrays.asList(om.treeToValue(list,PropVo[].class);
0 голосов
/ 28 августа 2018

Вы можете использовать ссылку на тип для преобразования этого JSON в Map<String, List<PropVo>>:

Map<String, List<PropVo>> m = objectMapper.readValue(string, 
        new TypeReference<Map<String, List<PropVo>>>() {});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...