yamlbeans를 사용하여 yaml 파일을 Java 객체로 직렬화 해제합니다. 내가 단 하나의 클래스를 가지고있는 한 이것은 잘 작동합니다. 문제는 필드를 중첩 할 때 yaml 설명에 중첩 클래스를 지정해야한다는 것입니다.yamlbeans를 사용하여 중첩 된 클래스를 비 직렬화
단일 클래스 예제 :
자바 :
public class MessageField {
public String name;
public String type;
public int length;
public String comment;
}
YAML :
name: field1
type: int
length: 4
comment: first field
---
name: field2
type: string
length: 16
comment: second field
---
여러 개의 클래스 (! YAML 파일에 com.mylib.VariableField 필요)
자바 :
YAML :
YamlReader reader = new YamlReader(new FileReader("sample.yml"));
MessageField mf = reader.read(MessageField.class);
:
name: field3
type: short
length: 2
comment:
variableFields:
- !com.mylib.VariableField
id: 1
name: nestedField 1
type: string
length: -1
comment:
---
YAML 문서 페이지 내 최상위 클래스에 무엇 인 클래스를 읽을 때 유형을 지정하여 클래스를 직렬화하는 방법을 설명합니다 이 올바르게 최상위 클래스에 대한 내 필드를 구문 있지만 내 중첩 된 클래스에 대한! com.mylib.VariableField 식별자를 피할 수 있도록 허용하지 않습니다. yaml 파일이 클래스 이름을 알 필요가 없도록 Java 코드를 변경할 수있는 방법이 있는지 알아 내려고합니다.
고마워, 배트맨. 그것은 완벽하게 작동했습니다. –
배트맨, 당신은 영웅입니다 : D – pokeRex110