使用GSON将Java对象序列化

6 浏览
0 Comments

使用GSON将Java对象序列化

我想将这个对象序列化为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 {
    public JsonElement serialize(Person src, Type typeOfSrc, ...) {
        return new JsonPrimitive(src.id);
    }
}

欢迎提出任何建议,谢谢!

Mario

0