Gson-> Json反序列化自定义对象列表

时间:2014-06-18 22:48:53

标签: java json collections gson

我正在尝试使用Json对象上的Gson序列化和反序列化Java POJO的ArrayList 我有一个对象MyClass为

public class MyClass{               
    private int type                
    private int pos;                
    private Object value;                               
}

我有这些对象的ArrayList,我将其序列化为

 List<MyClass> values= null;
 String json = new Gson().toJson(retValues);

json字符串是

[{"type":4,"pos":1,"value":15}]

我尝试将其反序列化为

 Type myType = new TypeToken<ArrayList<MyClass>>() {}.getType();
 List<MyClass> test=new Gson().fromJson(json, myType);

我收到错误

The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@1141ddf failed to deserialized json object [{"type":4,"pos":1,"value":18}] given the type java.util.ArrayList<abc.MyClass>

任何输入都非常感谢!

1 个答案:

答案 0 :(得分:0)

我明白了。我添加了两件事,我不知道哪一件让它起作用。 - 我向MyClass添加了一个无参数的构造函数 - 我使MyClass实现了serializable。

它有效!

感谢您的帮助。