如何在Android中获取此Json的所有值?

时间:2016-12-15 06:10:44

标签: android arrays json getjson

我正在努力获得价值,但没有得到正确的只有一个数组是另一个"没有价值"错误显示所以请帮助我如何获得不同数组的值。 "只有名称数组中断和下一个输出没有找到值显示错误和应用程序崩溃。"

{  
"project": [{

             "name": [{
             "sac": "sachin",
             "sag": "sagar"
         }]
}, {
    "output": " true",
    "msg1": [{
        "emp": "001",
        "empname": "sachin"
    }, {
        "emp": "002",
        "empname": "sagar"
    }]
}, {
    "output_prg": " true",
    "msg2": [{
        "id": "1",
        "pr_code": "SD"
    }, {
        "id": "002",
        "pr_code": "SJ"
    }]
}]
}

1 个答案:

答案 0 :(得分:0)

您可以根据数组索引解析响应如果它是0索引,您可以根据JSON解析数据。

在这里,我完成了json解析你的回复。

但json响应不符合标准(即JsonArray的意图不在Project数组中使用,最好将项目JsonArray作为JSONObject,并使用Json Key将每个索引指定为单独的JSONObject)

JSONArray productArray=jsonObject.getJSONArray("project");
            if(productArray.length()>0){
                JSONObject nameJson=productArray.getJSONObject(0);
                JSONArray nameJsonArray=nameJson.getJSONArray("name");
                for(int i=0;i<nameJsonArray.length();i++){
                    JSONObject nameJSonObject=nameJsonArray.getJSONObject(i);
                    String sac=nameJSonObject.getString("sac");
                    String sag=nameJSonObject.getString("sag");
                }
            }
            if(productArray.length()>1){
                JSONObject outputJSON=productArray.getJSONObject(1);
                String outputStatus=outputJSON.getString("output");
                JSONArray msgArray=outputJSON.getJSONArray("msg1");
                for(int i=0;i<msgArray.length();i++){
                    JSONObject msgJsonObject=msgArray.getJSONObject(i);
                    String empStr=msgJsonObject.getString("emp");
                    String empNameStr=msgJsonObject.getString("empname");
                }
            }
            if(productArray.length()>2){
                JSONObject outputJSON=productArray.getJSONObject(2);
                String outputPrgStatus=outputJSON.getString("output_prg");
                JSONArray msgArray=outputJSON.getJSONArray("msg2");
                for(int i=0;i<msgArray.length();i++){
                    JSONObject msgJsonObject=msgArray.getJSONObject(i);
                    String idStr=msgJsonObject.getString("id");
                    String prCodeStr=msgJsonObject.getString("pr_code");
                }
            }