【问题标题】:Writing Java object instance to YAML using Jackson使用 Jackson 将 Java 对象实例写入 YAML
【发布时间】:2018-03-08 19:42:41
【问题描述】:

我有一个“示例”Pojo 类,如下所述。 任何人都可以使用 Jackson 将 Example 类的实例保存到 YAML 文件中。

public class Example {

String name;
int value;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getValue() {
    return value;
}

public void setValue(int value) {
    this.value = value;
}

}

【问题讨论】:

  • 只是说,SnakeYaml 可以自己完成此操作,并且与使用 Jackson 相比,您可以对其进行更多控制。如果 Jackson 不是必需的,请将其删除并直接使用 SnakeYaml。

标签: java jackson yaml jackson2 jackson-modules


【解决方案1】:

杰克逊有一个module that supports YAML。确保您将required dependency 添加到您的项目中,然后您可以按如下方式使用它:

// Create an ObjectMapper mapper for YAML
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());

// Write object as YAML file
mapper.writeValue(new File("/path/to/yaml/file"), example);

或者你可以将你的对象写成一个字符串:

// Write object as YAML string
String yaml = mapper.writeValueAsString(example);

【讨论】:

  • 当我使用这段代码时,它会在文件的第一个添加一行(注释行为---)??这个拳头线怎么去掉?
  • @M2E67 试试ObjectMapper mapper = new ObjectMapper(new YAMLFactory().disable(Feature.WRITE_DOC_START_MARKER));。请参阅documentation
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-10
  • 2021-12-13
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
相关资源
最近更新 更多