android - How do I use custom deserialization on gson for generic type? -
for standard pojo, can use following
gsonbuilder gson = new gsonbuilder(); gson.registertypeadapter(mytype2.class, new mytypeadapter()); gson.registertypeadapter(mytype.class, new myserializer()); gson.registertypeadapter(mytype.class, new mydeserializer()); gson.registertypeadapter(mytype.class, new myinstancecreator()); how if pojo generic? gson user guide (https://sites.google.com/site/gson/gson-user-guide#toc-custom-serialization-and-deserialization) doesn't mention it. below code it's not correct one.
gsonbuilder.registertypeadapter(customresponse<pojoa>.getclass(), new pojoadeserializer()); gsonbuilder.registertypeadapter(customresponse<pojob>.getclass(), new pojobdeserializer()); gsonbuilder.registertypeadapter(customresponse<pojoc>.getclass(), new pojocdeserializer());
instead of doing this:
gsonbuilder.registertypeadapter(customresponse<pojoa>.getclass(), new pojoadeserializer()); register deserializer so:
gsonbuilder.registertypeadapter( new typetoken<customresponse<pojoa>>(){}.gettype(), new pojoadeserializer());
Comments
Post a Comment