2017-09-27 8 views
1

아래에 언급 된 '예제'Pojo 클래스가 있습니다. Jackson은 Jackson을 사용하여 Example 클래스의 인스턴스를 YAML 파일에 저장할 수 있습니다.Jackson을 사용하여 YAML에 Java 객체 인스턴스 작성

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

// 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); 

은 또한 당신이 문자열로 개체를 작성할 수 있습니다 : //github.com/FasterXML/jackson-dataformats-text/blob/master/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/SimpleGenerationTest.java#L79 –

+0

SnakeYaml이 다음 작업을 수행 할 수 있습니다. 그 자체만으로도 잭슨을 사용할 때보 다 더 많은 것을 제어 할 수 있습니다. Jackson이 요구 사항이 아니라면 SnakeYaml을 직접 사용하십시오. – flyx

답변

3

잭슨은 module that supports YAML 있습니다. 당신이 당신의 프로젝트에 required dependency를 추가 확인, 당신은 다음과 같이 사용할 수 있습니다 : 당신은 여기 예제를 볼 수

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

이 코드를 사용하면 파일의 첫 줄에 행을 추가합니다 (주석 행 ---)? 이 주먹 줄을 어떻게 없앨 수 있습니까? – M2E67

+0

@ M2E67 세 개의 대시 ('---')는 완벽합니다. 스트림 내에서 문서를 분리하는 데 YAML에서 사용됩니다. –

+0

어떻게 그것을 쓰는 것을 막을 수 있습니까 ?? – M2E67