2017-09-27 41 views
1

我有一個'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

回答

3

傑克遜具有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

相關問題