java - Gson how to dynamically set serialized name -


here case

// base class public abstract class pageresult<t> {    @serializedname("success")    public boolean success = false;    @serializedname("next_page")    public int nextpage = -1;    public arraylist<t> datalist; } 

in datalist serializedname need dynamic i.e.

public class stringpageresult extends pageresult<string>{   //for case    @serializedname("stringresult")   public arraylist<string> datalist }  public class integerpageresult extends pageresult<integer>{   //for case    @serializedname("integerresult")   public arraylist<integer> datalist } 

so class extending pageresult, serializedname need different , must use datalist. meaning need use pageresult datalist various processing instead of sub class datalist.is possible? doing in following manner

public abstract class pageresult<t> {   public abstract arraylist<t> getdatalist();   @serializedname("success")   public boolean success = false;   @serializedname("next_page")   public int nextpage = -1; }  public class stringpageresult extends pageresult<string>{    @serializedname("stringresult")   public arraylist<string> datalist;   public abstract arraylist<string> getdatalist(){      return datalist;   } } 

use :

@serializedname(value="name1", alternate={"name2", "name3"}) 

https://google.github.io/gson/apidocs/com/google/gson/annotations/serializedname.html


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -