beanshell处理返回信息02

接口返回信息如下

{
    "code": "200",
    "message": "success",
    "data": {
        "result": [
            {
                "productCategoryCode": "ABCD20000002",
                "productCategoryName": "Smartphone"
            },
            {
                "productCategoryCode": "ABCD30000045",
                "productCategoryName": "PC"
            },
            {
                "productCategoryCode": "ABCD40000003",
                "productCategoryName": "Tablet"
            },
            {
                "productCategoryCode": "ABCD50000046",
                "productCategoryName": "Watch"
            }
        ],
        "hasNext": false
    }
}

把productCategoryCode和productCategoryName用分号分隔拼接写入D:\Temp\data1.csv文件中,beanshell代码如下

    import org.json.*;
    String response_data = prev.getResponseDataAsString(); //获取请求返回值。注意此处只能获取到String类型;
    JSONObject data_obj = new JSONObject(response_data).get("data"); //将String类型的返回值构造成JSONObject对象,才可使用Java对象的方法对其进行操作;
    JSONArray result_arr = data_obj.getJSONArray("result");
    FileWrite fstream = new FileWrite("D\\Temp\\data1.csv",true);
    BufferedWrite out = new BufferedWrite(fstream);
    for(int i = 0;i<result_arr.length();i++){
        JSONObject jsonTmp = (JSONObject)result_arr.getJSONObject(i);
        String productCategoryCode = jsonTmp.get("productCategoryCode").toString();
        String productCategoryName = jsonTmp.get("productCategoryName").toString();
        String tempData = productCategoryCode + ";" + productCategoryName;
        out.write(tempData);
        out.newLine();
    }
    out.close();
    fstream.close();

 

posted @ 2025-03-27 22:21  李源棠  阅读(17)  评论(0)    收藏  举报