分析:
从远端服务器获取json数据使用过程
1.服务器数据提前做好处理,将sql语句查询结果转换为json数据格式。
2.在项目中的控制层代码中依据需求,形成url查询地址
3.编写将json数据转换为List数据的方法
4.调用第三步方法,将数据保存在创建的泛型ArrayList之中
5.程序需要数据时调用所创建的ArrayList
一、服务器数据处理
之前已写过此方面的博文,请点击查看详情:sql语句查询数据库,结果集为json数据以供前端、后台使用
二、控制层形成url查询地址
//依据条件设置url路径
String url = baseUrl + capUrl + "-1" + "&TBCLName="
+ URLEncoder.encode(group, "utf-8") + "&BeginDate="
+ startTime + "&EndDate=" + endTime + "&Type=" + type;
三、json数据转换为List数据的方法
/**
* json数据转为List集合的方法
* @param url1 获取json数据的URL地址
* @param clazz 泛型
* @return arrayList ArrayList数组对象,用于存放转换后的list集合
*/
public static <T> ArrayList<T> jsonToArrayList(String url1, Class<T> clazz) {
ArrayList<T> arrayList = new ArrayList();
String httpResult = singleton.getHttpResult(url1);
String httpResult = singleton.getHttpResult(url1);
Type type = new TypeToken<ArrayList<JsonObject>>() {
}.getType();
if (httpResult!=null&&!httpResult.equals("None")) {
ArrayList<JsonObject> jsonObjects = new Gson().fromJson(httpResult,type);
for (JsonObject jsonObject : jsonObjects) {
arrayList.add(new Gson().fromJson(jsonObject, clazz));
}
}
return arrayList;
}
四、调用第三步方法,获取数据
//获取数据 CapacityOneDay为一个pojo实体类,依据项目需求进行编写
ArrayList<CapacityOneDay> jsonToArrayList1 = HttpUtils
.jsonToArrayList(url, CapacityOneDay.class);
五、需要数据时进行调用 jsonToArrayList1
JFreeChart chart = bc.createChart("日期(时)",bc.createDataSeth(jsonToArrayList1));
大功告成!