JYAML: Сериализация / десериализация вложенных / внутренних классов - PullRequest
0 голосов
/ 24 декабря 2009

Прежде всего, с Рождеством всех!

Теперь на мой вопрос: Допустим, у меня есть класс Outer с некоторым внутренним классом Inner. В качестве поля в Outer у меня есть List<Inner>, который я затем хочу сохранить в файл YAML. Я делаю это так:

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

Это дает мне исключение: 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.

Я пытался предоставить пользовательский конструктор и изменить уровень доступа на public, но это не помогло. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 25 декабря 2009

SnakeYAML имеет много примеров с внутренними классами. Как выглядит документ YAML (test.yml)? Является ли Inner статическим внутренним классом?

0 голосов
/ 24 декабря 2009

Прежде всего, убедитесь, что YAML поддерживает сериализацию класса Inner.

...