小编Mar*_*rio的帖子

使用GSON序列化java对象

我想将此对象序列化为JSON String

public class Person {
   public String id;
   public String name;
   public Person parent;
}
Run Code Online (Sandbox Code Playgroud)

并获得这样的结果:

{id: 1, name: "Joe", parent: 2}
Run Code Online (Sandbox Code Playgroud)

我试着用

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);
Run Code Online (Sandbox Code Playgroud)

但不是那样,我得到了:

"1"
Run Code Online (Sandbox Code Playgroud)

PersonSerializer:

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

欢迎任何建议

谢谢,马里奥

java json gson

34
推荐指数
2
解决办法
7万
查看次数

标签 统计

gson ×1

java ×1

json ×1