现有一个json数据
{ "result":[ { "powerUnitId":1, "powerUnitName":"供电单位1" }, { "powerUnitId":2, "powerUnitName":"供电单位2" } ] }
这个是从服务器里面获取到的数据,但是数据返回result字段对应的类型是动态的,目前返回的是数组
针对此需求:
设计了两个个对象:Response、Result
public class Response<T> { private T result; /// getter setter }
public class Result { private int powerUnitId; private String powerUnitName; /// getter setter }
转换方法:
String json = "{\"result\":[{\"powerUnitId\":1,\"powerUnitName\":\"供电单位1\"},{\"powerUnitId\":2,\"powerUnitName\":\"供电单位2\"}]}"; Gson gson = new Gson(); Type founderListType = new TypeToken<Response<ArrayList<Result>>>(){}.getType(); Response<Result> o = gson.fromJson(json, founderListType);