YAML 解析为 linkedHashMap 而不是 JAVABean

我有一个 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);

理想情况下,如果没有给出数据,我想要一个空数组。


阿晨1998
浏览 439回答 1
1回答

繁花如伊

用这个List<MyType>&nbsp;myTypeList&nbsp;=&nbsp;objectMapper.readValue(new&nbsp;File(path),&nbsp;new&nbsp;TypeReference<List<MyType>>()&nbsp;{});阅读有关TypeReference 的更多信息
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java