Сериализация объекта Java с помощью GSON

Я хотел бы сериализовать этот объект в строку JSON

public class Person {
   public String id;
   public String name;
   public Person parent;
}

и получить такой результат:

{id: 1, name: "Joe", parent: 2}

Я пробовал использовать

Person p = new Person(1, "Joe", new Person(2, "Mike"));
Gson gson = new GsonBuilder()
            .registerTypeAdapter(Persona.class, new PersonSerializer()).create();
String str = gson.toJson(p);

, но вместо этого я получил:

"1"

PersonSerializer:

public class PersonSerializer implements JsonSerializer<Person> {
    public JsonElement serialize(Person src, Type typeOfSrc, ...) {
        return new JsonPrimitive(src.id);
    }
}

Приветствуются любые предложения

Спасибо, Марио

34
задан Tim 3 March 2015 в 10:10
поделиться