在JAVA中将POJO列表转换为YAML文件

时间:2018-06-14 15:11:12

标签: java yaml

我在stackoverflow中找到了很多例子,但我猜他们都没有遇到这个问题我是:

我正在尝试将POJO列表转换为YAML格式并将文件写入磁盘。 我在我的Pom中使用Snake Yaml这个依赖:

 <dependency>
   <groupId>org.yaml</groupId>
   <artifactId>snakeyaml</artifactId>
   <version>1.18</version>
  </dependency>

我的代码:

Pojo po = new Pojo();
po.setProperty1("po1");
po.setProperty2("po2");
po.setProperty3("po3");

DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
options.setPrettyFlow(true);

Yaml yaml = new Yaml(options);
String s = yaml.dump(po);

Output :
- !! com.test.Pojo
  Property1:"po1"
  Property2:"po2"
  Property3:"po3"

Desired output:
- Property1:"po1"
  Property2:"po2"
  Property3:"po3"

当我使用yaml.dump(myObject)时,它还会打印对象名称及其属性。有没有办法让我得到所需的输出。

1 个答案:

答案 0 :(得分:0)

您可以使用Representer

将类标记设置为Tag.MAP应隐藏类名。

Representer representer = new Representer();
representer.addClassTag(Pojo.class, Tag.MAP);