【发布时间】:2021-12-16 01:07:53
【问题描述】:
如何解析包含标记映射的 YAML 文件并返回嵌套的 Java Map
换句话说,我想解析标记的 YAML 对象,就好像它们是带有类型条目的 JSON 对象一样。
例如,你如何解析这个:
!ControlGroup
name: myGroup
controls:
- !Button
name: button1
size: 10
- !Knob
name: knob1
maxValue: 11
size: 7
好像是这样的?:
objectType: ControlGroup
name: myGroup
controls:
- objectType: Button
name: button1
size: 10
- objectType: Knob
name: knob1
maxValue: 11
size: 7
我已经在我正在处理的项目中使用 SnakeYAML,所以如果存在使用 SnakeYAML 的解决方案,那将是理想的。
【问题讨论】:
-
我猜你可以注入一个自定义解析器,将标签处理为
objectType: Button对,但遗憾的是,SnakeYAML 存储库由于某种原因变得私有,所以我无法检查细节。如果缩进实际上并没有像您显示的代码那样被破坏,那么快速的正则表达式替换输入可能是简单的解决方案。
标签: java json parsing yaml snakeyaml