在序列化时对SnakeYaml应用格式化。

我正在使用 snakeYaml (snakeyaml-engine-2.1) 来序列化一个 pojo。目前,序列化产生了如下输出

name: "OuterYamlElementName"
label: "OuterYamlElementLabel"
fields:
  label: "outerYamlFieldLabel"
  value: "outerYamlFieldValue"
  isRequired: true
  toggle: "+Test-Outer-Yaml-Field"

但我希望yaml能这样生成

name: "OuterYamlElementName"
label: "OuterYamlElementLabel"
fields:
  - {label: "outerYamlFieldLabel", value: "outerYamlFieldValue", isRequired: true, toggle: "+Test-Outer-Yaml-Field"}

我知道他们有办法通过类来定制输出。DumpSettings 在蛇形图中通过设置器

setCanonical
setDefaultFlowStyle
etc

然而,我还没有能够产生这种输出,因为不幸的是。我希望产出的Yaml是比较大的(上面的例子只包括了一个片段,所以才会有这样的要求)。此外,第二个Yaml样本是由蛇Yaml反序列化的,所以它应该能够产生同样的输出,我想。有人知道创建第二个例子中的结构需要哪些设置吗?先谢谢你了。

解决方案:

我还不能使 snakeyaml-engine-2.1 产生任何结果。

然而,我尝试了另一个YAML库(snakeyaml v.1.10),并生成了下面的示例字符串(但是,没有双引号)。

!!com.example.demo.so.yaml.FormatYaml$Pojo
field: {label: outerYamlFieldLabel2, required: true, toggle: +Test-Outer-Yaml-Field2,
  value: outerYamlFieldValue2}
fields:
- {label: outerYamlFieldLabel, required: true, toggle: +Test-Outer-Yaml-Field, value: outerYamlFieldValue}
label: OuterYamlElementName
name: OuterYamlElementName

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/522.html

(0)
上一篇 2022年6月29日 下午3:57
下一篇 2022年6月29日 下午3:57

相关推荐

发表评论

登录后才能评论