직렬화에 대한 많은 경험이 없습니다. 아래 클래스의 간단한 객체를 직렬화하려고 시도하는 동안 YAML 라이브러리에서이 No JavaBean properties found exception
을 얻습니다. 여기 snakeyaml을 사용하여 Java에서 객체를 YAML로 직렬화 라이브러리
public class MyClass {
String value;
public MyClass(String args) {
value = args;
}
public String getValue(){
return value;
}
}
그리고 여기에 내가 SnakeYAMAL 사용하여 직렬화하고 방법입니다
import java.util.HashMap;
import java.util.Map;
import org.yaml.snakeyaml.Yaml;
public class Test {
public static void main(String[] args) {
MyClass obj = new MyClass("this is my data");
Map<String, Object> data = new HashMap<String, Object>();
data.put("MyClass", obj);
Yaml yaml = new Yaml();
String output = yaml.dump(data);
System.out.println(output);
}
}
및 실행시
,이 예외가 발생합니다 :Exception in thread "main" org.yaml.snakeyaml.error.YAMLException: No JavaBean properties found in MyClass
at org.yaml.snakeyaml.introspector.PropertyUtils.getProperties(PropertyUtils.java:112) ...
을 할 수 당신은이 일을하는 데 내가 빠진 것이 무엇인지, 또는 어떻게해야 제대로 할 수 있는지 말해 주시겠습니까?
public class MyClass {
String value;
public MyClass() {}
public String setValue(String value){
this.value = value;
}
public String getValue(){
return value;
}
}
하고 내가 그것을 직렬화하기 전에 값을 설정하면, 어떻게 든 작동합니다
편집. 이것이 적절한 해결책인지 아닌지 생각해보십시오.
당신이 자바 빈즈에이 클래스를 변환하는 아주 작은 examlpe를 추가 할 수 있습니다. – Johnydep
@Johnydep 'MyClass'를 유효한 JavaBean으로 변환하는 예제를 포함하도록 내 대답을 편집했습니다. –
편집 한 코드가 YAML 직렬화를 사용하는 적절한 방법인지 확인할 수 있습니까? 고마워요 – Johnydep