在1个文件2 Java中具有相同“块”的YAML

时间:2018-12-10 13:31:37

标签: yaml

我想将YAML文件转换为2个Java。这对于其他文件来说效果很好,但是现在我需要转换这样的文件:

%YAML 1.1
---
kind: type
name: a_name
spec: a_spec
---
kind: other_type
name: b_name
spec: b_spec

所以这些是同一级别的配置块,我需要将其转换为对象数组。

有什么想法吗?我目前正在使用杰克逊进行映射2 java

干杯, 马尔滕

1 个答案:

答案 0 :(得分:0)

有了一些help和snakeYaml,我明白了:

Representer representer = new Representer();
representer.getPropertyUtils().setSkipMissingProperties(true); // for null values
Yaml yaml = new Yaml(new Constructor(MyClass.class), representer);
List<MyClass> myListOfClass= new ArrayList<>();
InputStream input = this.class.getResourceAsStream(<fileLocation>);
for (Object object : yaml.loadAll(input)) {
    myListOfClass.add((MyClass)object);
}