Сериализация Java с YAML (библиотека SnakeYaml), HashMaps не отображаются в сериализованном выводе - PullRequest
0 голосов
/ 13 декабря 2011

когда я сериализую объект класса так, что:

class MyClass{

   String value;
   public MyClass(){}

   public void setValue(String value){
      this.value = value;
   }

   public String getValue(){
      return value;
   }

}

и его сериализацию как:

 MyClass c1 = new MyClass();
    c1.setValue("this is a value");
    Map<String, Object> result = new HashMap<String, Object>();

    result.put("MyClass", c1);
    Yaml yaml = new Yaml();
    String output = yaml.dump(result);

работает просто отлично. Тем не менее, теперь, если в моем классе у меня есть другое значение, такое что:

class MyClass{

   String value;
   Map<Integer, AnotherClass> MyList
   public MyClass(){}

   public void setValue(String value){
      this.value = value;
   }

   Map<Integer, AnotherClass> CList = new HashMap<Integer, AnotherClass>();
   public void setList(AnotherClass AL){
      CList.put(1,AL);
      this.MyList = CList;
   }

   public String getValue(){
      return value;
   }

}

и теперь я повторяю то же самое, программа работает, но в сериализованном выводе, я не вижу этот HashMap. В чем проблема, есть ли какой-то другой подход, используемый для сериализации объектов типа HashMap? Пожалуйста, предложите ....

1 Ответ

0 голосов
/ 13 декабря 2011

Для карты нет добытчика, поэтому она игнорируется.

...