我有一个YAML文件,看起来像这样:
---
name: Sam
tags:
- Dev
- Java
----
name: Bob
tags:
- PM
Run Code Online (Sandbox Code Playgroud)
我想使用Jackson来反序列化文件中的所有文档,但是我没有看到使用普通文件的方法ObjectMapper.如果我使用 看起来我的YAMLFactory创建的解析器只解析文件中的单个文档.YAMLFactory为我的文件创建一个解析器,我可以单步执行所有标记,因此解析器显然能够处理多个文档 - 但是如何将它们绑在一起?
我也尝试直接创建YAMLParser并使用ObjectMapper#readValue(JsonParser, Class),但ObjectMapper耗尽了整个YAMLParser来反序列化单个实例.
zco*_*rts 12
这是几年后,但值得指出的是,这是支持的.杰克逊的语义略有不同,可能是因为它的JSON起源.这可以通过使用MappingIteratorfrom 来实现ObjectMapper.
YAMLFactory yaml;
ObjectMapper mapper;
YAMLParser yamlParser = yaml.createParser("file-with-multiple-docs.yaml")
List<ObjectNode> docs = mapper
.readValues<ObjectNode>(yamlParser, new TypeReference<ObjectNode> {})
.readAll();
Run Code Online (Sandbox Code Playgroud)
ObjectNode如果需要,请替换为您自己的POJO.
| 归档时间: |
|
| 查看次数: |
4743 次 |
| 最近记录: |