如何使用包含两个基元和List<>的对象序列化JSON类型?

时间:2011-07-11 14:46:15

标签: json serialization gson

所以我有一个我计划用于简单JSON序列化的类。

public class Thing {

  private int field1;
  private String some_other_field;
  private List<SubType> subs;
  private list<AnotherType> another;

  public String toJson() {
    Gson g = new Gson();
    g.toJson(this);
  }
}

因此,文档显示如果要序列化泛型类型,则需要指定TypeToken:

Type listtype = new TypeToken<List<SubType>>() {}.getType();
gson.toJson(subs, listtype);

但是,如果我有一个我要序列化的全班,那么这是如何工作的呢?我在哪里可以为这两个List<>类型指定序列化类型,以便我可以传递整个对象并获得序列化输出?这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

从文档看来,如果使用toJson(...)序列化完整对象,它会正确处理泛型属性。

toJson(Object)

“请注意,如果任何对象字段属于泛型类型,则此方法可以正常工作,只是对象本身不应该是泛型类型”

你的对象有什么输出?