接口调用返回的json,要提取后入库到本地。
返回json数据:
{
"data": {
"offset": 2,
"total": 2952,
"restTotal": 2950,
"dataList": [{
"ISBN": "9787539197456",
"bookStar": "93.6",
"tag": "",
"commentTimes": "1487",
"price": "58.00",
"star50Percent": "",
"star40Percent": "",
"star30Percent": "",
"star20Percent": "",
"star10Percent": ""
}, {
"ISBN": "9787539197449",
"bookStar": "95.8",
"tag": "",
"commentTimes": "15711",
"price": "25.00",
"star50Percent": "",
"star40Percent": "",
"star30Percent": "",
"star20Percent": "",
"star10Percent": ""
}]
},
"error": "success",
"error_Description": "操作成功"
}
使用fastjson取值:
importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;
{
JSONObject json_o= GetJson(调用接口的方法,得到返回值);//方法就是一个Httpclient的get//得到data的json对象
JSONObject jsondata = JSON.parseObject(json_o.getString("data"));//得到data中的dataList对象,并用jsonarray保存
JSONArray jsonarr = jsondata.getJSONArray("dataList");//使用for循环遍历datalist里的json值,如:price,ISBN
for(int i = 0;i
JSONObject jsonb=jsonarr.getJSONObject(i);
String price= jsonb.getString("price");
String ISBN= jsonb.getString("ISBN");//其他值的获取相同.取到值后再入库
}//获取total值
String total = jsondata.getString("total");//获取error值
String error = json_o.getString("error"));
}