2009-12-24 3 views
0

우선 모두에게 메리 크리스마스!JYAML : 중첩 된/내부 클래스 직렬화/역 직렬화

내 질문에 : 내부 클래스가 내부 클래스 인 Outer 클래스가 있다고 가정 해 봅니다. Outer의 필드로, 나는 List<Inner>을 가지고 있는데,이 파일을 YAML 파일로 덤프하려고합니다. 그래서 같이 이렇게 : 나는 사용자 지정 생성자를 제공하고 아무 도움으로, 대중에게 액세스 수준을 변경 시도 Exception in thread "main" org.ho.yaml.exception.ObjectCreationException: Error near line 0: Can't create object of type class game.Outer$Inner using default constructor.

:

Outer o = new Outer(); 
o.innerList = new ArrayList<Inner>(); 
o.innerList.add(new o.Inner()); 
... 
Yaml.dump(o, new File("test.yml"); 

이 나에게 예외를 제공합니다. 어떤 아이디어?

답변

0

SnakeYAML에는 내부 클래스가있는 많은 예제가 있습니다. YAML 문서 (test.yml)는 어떻게 생겼습니까? 내부 클래스는 정적 내부 클래스입니까?

+0

구문 분석을 위해 내 자신의 문서를 만들기 위해 출력이 어떻게 표시되는지 직렬화하려고합니다. 아니요, 내부는 정적이 아닙니다. 나는 SnakeYAML을 살펴볼 것입니다. –

+0

내부 클래스가 정적이 아닌 경우 두려워요. YAML 문서에서 부모에 대한 링크를 나타내는 방법은 없습니다. – Andrey

+0

먼저 XML로 직렬화하여 표시되는지 확인하십시오. XML을 만들 수 있다면 YAML을 생성 할 수 있습니다. – Andrey

0

우선 YAML이 내부 클래스 직렬화를 지원하는지 확인합니다.