简体   繁体   中英

Gson-> Json to deserialize List of custom objects

I am trying to serialize and de-serialize an ArrayList of Java POJOs using Gson on Json objects I have an object MyClass as

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

I have an ArrayList of these objects, which I serialize as

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

The json string is

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

I try to deserialize it as

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

I get an error

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>

Any input much appreciated!

I figured it out. I added 2 things, I don't know which one made it work. - I added a no-arguments constructor to MyClass - I made MyClass implement serializable.

And it works!

Thanks for your help.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM