Json在android中解析数组

时间:2016-07-12 05:51:44

标签: android json parsing

我从url获取Json数据,数据采用这种格式。

{
"Android": {
"candidate": [
  {
    "id": "2466965",
    "candidate_name": "Surajit  Ray"
  },
  {
    "id": "2468313",
    "candidate_name": "Ankit  Dixit"
  }
]
}
}

我想解析这个json数据,我正在使用这种技术。

 try {

              //  ***** Creates a new JSONObject with name/value mappings from the JSON string. *******
                jsonResponse = new JSONObject(Content);

            //    **** Returns the value mapped by name if it exists and is a JSONArray. **
            //    ******  Returns null otherwise.  ******
                JSONArray jsonMainNode = jsonResponse.optJSONArray("Android");
                //JSONArray jsonMainNode=   jsonResponse.getJSONArray("Android").getJSONObject(0).getJSONArray("candidate");
                //   ********** Process each JSON Node ***********

                int lengthJsonArr = jsonMainNode.length();

                System.out.println("length is " + lengthJsonArr);



                for(int i=0; i < lengthJsonArr; i++)
                {
                  //  ***** Get Object for each JSON node.**********
                    JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);

                  //  ****** Fetch node values *********
                    String ide       = jsonChildNode.optString("id").toString();
                    String name       = jsonChildNode.optString("candidate_name").toString();
                    //String number     = jsonChildNode.optString("number").toString();
                    //String date_added = jsonChildNode.optString("date_added").toString();



                        OutputData +="id is"+ide+ " Name           : " + name;
                 /*   +" " + "Number      : "+ number +" "
                            + "Time                : "+ date_added +" " +"-------------------------------------------------- ";
       */
                    }

Toast.makeText(getApplicationContext(),"parsed data is "+OutputData,Toast.LENGTH_LONG).show();

但是这给了我error.please引导我作为各种json格式是什么以及我们如何在String中解析它们。

1 个答案:

答案 0 :(得分:1)

你的问题是Android不是JSONArray,它是一个对象。使用相应的方法获取JsonObjects。