无法将org.json.JSONObject类型的数据转换为JSONArray

问题描述 投票:0回答:2

我的回复

{
  "status": "success",
  "statuscode": 200,
  "message": "Record found successfully.",
  "data": {
    "tangible_benefits": "ds1351gsghsdh353535535",
    "intangible_benefits": "shwryw24y43rwehdg135313513",
    "total_annual_savings": "45135432",
    "root_cause_identification": [
      {
        "id": "6",
        "projectid": "1498",
        "step": "6",
        "root_cause_identified": "efficiency",
        "solution_implemented": "efficiency",
        "implementaion_date": "14-01-2020",
        "createdby": "201465",
        "updatedby": "201465",
        "created_date": "2020-01-14 18:04:41",
        "updated_date": "2020-01-14 18:04:41"
      }
    ]
  }
}

java代码

try {
                JSONObject res = new JSONObject(response);

                if (res.getString("status").equalsIgnoreCase("success")) {
                    JSONArray TQMData = res.getJSONArray("data");
                    for (int i = 0; i < TQMData.length(); i++) {
                        JSONObject obj = TQMData.getJSONObject(i);
                        stepsList.add(new TQMSavedDataModel(obj.getString("tangible_benefits"),
                                obj.getString("intangible_benefits"),
                                obj.getString("total_annual_savings"),
                                (List<RootCauseIdentificationModel>) obj.getJSONObject("root_cause_identification")
                        ));
                    }
                }
            } catch (JSONException e) {
                e.printStackTrace();
                dialog.dismiss();
                Toast.makeText(getActivity(), "Something went wrong, please try again.", Toast.LENGTH_SHORT).show();
                getActivity().finish();
            }
java android arrays json android-volley
2个回答
0
投票

您得到的响应是JSONObject而不是JSONArray


0
投票

首先,您应该将data作为JsonObject获取然后,从该对象中,您可以检索所需的数组:)

JSONObject obj = TQMData.getJSONObject("data");
JSONArray arrayData = obj.getJSONArray("root_cause_identification");

快乐编码!

© www.soinside.com 2019 - 2024. All rights reserved.