使用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; 
} 

}

+0

你可以在这里看到一个例子:HTTPS: //github.com/FasterXML/jackson-dataformats-text/blob/master/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/SimpleGenerationTest.java#L79 –

+0

只是说,SnakeYaml可以做到这一点它自己和你有比使用杰克逊更多的控制权。如果杰克逊不是必需品,请直接放弃它并使用SnakeYaml。 – flyx

杰克逊具有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); 
+0

当我使用这段代码时,它在第一个文件中添加一行(注释行为---)??如何消除这个拳头线? – M2E67

+0

@ M2E67这三个破折号('---')都很好。它用于YAML用于分离流中的文档。 –

+0

如何防止写入? – M2E67