使用Jackson将Java对象实例写入YAML

Gan*_*o B 5 java yaml jackson jackson-modules jackson2

我有一个'示例'Pojo类,如下所述.任何一个tel都可以使用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;
}
Run Code Online (Sandbox Code Playgroud)

}

cas*_*lin 12

杰克逊有一个支持YAML模块.确保将所需的依赖项添加到项目中,然后可以按如下方式使用它:

// 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);
Run Code Online (Sandbox Code Playgroud)

或者,您可以将对象编写为字符串:

// Write object as YAML string
String yaml = mapper.writeValueAsString(example);
Run Code Online (Sandbox Code Playgroud)

  • @ M2E67尝试`ObjectMapper mapper = new ObjectMapper(new YAMLFactory().disable(Feature.WRITE_DOC_START_MARKER));`.参见[文档](http://static.javadoc.io/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.9.0/com/fasterxml/jackson/dataformat/yaml/YAMLGenerator.Feature.html# WRITE_DOC_START_MARKER). (2认同)