【问题标题】:How to get all values from this Json in android? [closed]如何在android中从这个Json中获取所有值? [关闭]
【发布时间】:2016-12-15 06:10:43
【问题描述】:

我正在尝试获取价值,但没有得到正确的结果,只有一个数组用于显示另一个“无值”错误,所以请帮助我如何从不同的数组中获取值。 “只有名称数组中断和下一个输出没有发现值显示错误和应用程序崩溃。”

{  
"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"
    }]
}]
}

【问题讨论】:

  • 你必须根据 json 数组中的索引来解析它。问题是 JSON 数组中没有相同的 JSON 对象。对于第一个索引,你必须单独解析它,对于第二个索引你实现单独的解析器。
  • 谢谢,但是我如何尝试所有选项,请给我一些与此 json 数组相关的示例。
  • 我的建议是使用 JSonObject 而不是将 Product 作为 JSonArray。
  • 如果您需要解析相同的响应(您发布的内容)会这样做。

标签: android arrays json getjson


【解决方案1】:

你可以根据数组的索引来解析响应如果是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");
                }
            }

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多