使用Jackson将Java对象实例写入YAML
问题描述:
我有一个'Example'Pojo类,如下所述。 任何一个tel都可以使用Jackson将Example类的实例保存到YAML文件中。使用Jackson将Java对象实例写入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;
}
}
答
杰克逊具有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);
你可以在这里看到一个例子:HTTPS: //github.com/FasterXML/jackson-dataformats-text/blob/master/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/SimpleGenerationTest.java#L79 –
只是说,SnakeYaml可以做到这一点它自己和你有比使用杰克逊更多的控制权。如果杰克逊不是必需品,请直接放弃它并使用SnakeYaml。 – flyx