3

How can I serialize and deserialize this object with gson to json:

public class test{

@Expose
public List< Pair<Double,Double> > list;

@Expose
public int alpha;
}

I've tried this:

Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String str = gson.toJson(testInstance,test.class);

where testInstance is an instance of class test, but it's not working because of Pair structure in List.

4

2 回答 2

1

您已经使用方法配置了Gson对象。excludeFieldsWithoutExposeAnnotation文档

将 Gson 配置为将所有没有 Expose 注释的字段排除在序列化或反序列化的考虑范围之外。

你能改变Pair类吗?如果是,则必须为@Expose要序列化为 JSON 的每个属性添加注释。如果没有,您可以在程序中创建类似的类并添加注释。

于 2013-07-20T10:46:49.727 回答
0

如果对象是泛型类型,则泛型类型信息会因为Java Type Erasure. 您可以通过为泛型类型指定正确的参数化类型来解决此问题。尝试参数化类型,如List<String>. 这应该工作

于 2013-07-19T15:55:05.000 回答