fastjson提取json返回值(java)


接口調用返回的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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM