YAML анализируется как связанный HashMap, а не как JAVABean - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть YAML, который должен быть проанализирован как объект JAVA POJO вместо его выброса java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to <mytype>.YAML выглядит следующим образом:

--- 
- 
  count: 1
  indicies: 
    - be-log-2018.09.20
  searchText: someText
  services: 
    - um
    - sa
- 
  count: 2
  searchText: someMoreText
  services: 
    - um2
    - sa2
- 
  count: 2
  searchText: someMoreText

Мой класс POJO:

public class MyType {

    private int count;
    private String searchText;
    private String[] services;
    private String[] indicies;

и чтение YAML с помощью:

ObjectMapper mapper= new ObjectMapper(new YAMLFactory());
mapper.readValue(new File(path), List.class);

В идеале я хочу иметьпустой массив, если данные не указаны.

1 Ответ

0 голосов
/ 20 сентября 2018

Используйте это

List<MyType> myTypeList = objectMapper.readValue(new File(path), new TypeReference<List<MyType>>() {});

Узнайте больше о ТипСсылка

...