接口調用返回的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取值:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.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<jsonarr.size();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")); }
fastjson說明書:https://www.w3cschool.cn/fastjson/fastjson-api.html