我正在使用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"}
我知道他们是通过setter自定义蛇yaml中通过类
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
关于java - 序列化后将格式应用于SnakeYaml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61371038/