我正在使用snakeYaml (snakeyaml-engine-2.1) 来序列化pojo。 Atm 序列化产生以下输出
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 样本是由 Snake 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/