[org.json.JSONArray类型的files_data处的[Value []无法转换为JSONObject]

问题描述 投票:-1回答:1

API响应:

{
    "status": "success",
    "data": {
        "description": "bhh",
        "files_data": {
            "uploaded_documents": [
                {
                    "id": "87",
                    "url": "http://329470.jpg"
                },
                {
                    "id": "91",
                    "url": "http://192.168.1.96/59download.jpg"
                }
            ],
            "uploaded_approvals": [
                {
                    "id": "86",
                    "url": "http://192.168.1.96/647.jpg"
                },
                {
                    "id": "90",
                    "url": "http://192.168.1.96/wnload.jpg"
                }

            ]
        }
    }
}

java代码:尝试{JSONObject res =新的JSONObject(response);

            if (res.getString("status").equalsIgnoreCase("success")) {
                JSONObject obj = res.getJSONObject("data");
                JSONObject files_data=obj.getJSONObject("files_data");
                JSONArray doc=files_data.getJSONArray("uploaded_documents");
                for(int i=0;i<doc.length();i++){
                   JSONObject docData=doc.getJSONObject(i);
                   ProjectExecutionStepDataModel.fileObjectModel model=new ProjectExecutionStepDataModel.fileObjectModel(docData.getString("id"),docData.getString("url"));
                    docList.add(model);
                }
                JSONArray approval=files_data.getJSONArray("uploaded_approvals");
                for(int i=0;i<doc.length();i++){
                    JSONObject approvalData=approval.getJSONObject(i);
                    ProjectExecutionStepDataModel.fileObjectModel model=new ProjectExecutionStepDataModel.fileObjectModel(approvalData.getString("id"),approvalData.getString("url"));
                    approvalList.add(model);
                }
                dataModelList.add(new ProjectExecutionStepDataModel(obj.getString("description"),docList,approvalList));

                description.setText(obj.getString("description"));

            }
        } catch (JSONException e) {
            e.printStackTrace();
            dialog.dismiss();
            Toast.makeText(getActivity(), "Something went wrong, please try again.", Toast.LENGTH_SHORT).show();
            getActivity().finish();
        }
android arrays json android-volley
1个回答
0
投票

这是您问题的解决方案,只需将代码替换为我的代码即可。

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