我正在尝试将java POJO转换为yaml。
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
String output = yaml.dump(yamlMeta);
我正在使用snakyaml库。当把java对象转换成yaml时,它并没有保持键的顺序。它是按照字母顺序排列它们。但是我希望这和POJO的顺序相同。
1条答案
按热度按时间3htmauhk1#
默认情况下,SnakeYAML库中的Yaml类将按字母顺序序列化键。如果您希望保持键在POJO中出现时的顺序,可以使用DumperOptions.PreserveStyle.K_BLOCK_MAP样式。
若要使用此样式,您需要将DumperOptions的FlowStyle设置为FlowStyle.BLOCK,并将DumperOptions的LineBreak设置为LineBreak.Win。
下面是一个示例,说明如何使用这些选项以与POJO中字段相同的顺序序列化POJO:
这应该使用与POJO中的字段顺序相同的键序列化POJO。