我正在尝试使用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>
任何输入都非常感谢!
答案 0 :(得分:0)
我明白了。我添加了两件事,我不知道哪一件让它起作用。 - 我向MyClass添加了一个无参数的构造函数 - 我使MyClass实现了serializable。
它有效!
感谢您的帮助。