YAML 解析为 linkedHashMap 而不是 JAVABean
YAML parsed as linkedHashMap not as 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 class 是:
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);
理想情况下,如果没有给出数据,我希望有一个空数组。
使用这个
List<MyType> myTypeList = objectMapper.readValue(new File(path), new TypeReference<List<MyType>>() {});
阅读更多关于 TypeReference
我有一个 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 class 是:
public class MyType {
private int count;
private String searchText;
private String[] services;
private String[] indicies;
并使用 :
阅读 YAMLObjectMapper mapper= new ObjectMapper(new YAMLFactory());
mapper.readValue(new File(path), List.class);
理想情况下,如果没有给出数据,我希望有一个空数组。
使用这个
List<MyType> myTypeList = objectMapper.readValue(new File(path), new TypeReference<List<MyType>>() {});
阅读更多关于 TypeReference