Android:如何解析JSON Array of Array对象

时间:2014-09-30 09:28:43

标签: android arrays json

任何人都可以告诉我如何在android中解析这种类型的json吗?

[
   [
      {
         "condition_id":"1",
         "condition_name":"Type 1 Diebetics"
      }
   ],
   [
      {
         "condition_id":"2",
         "condition_name":"Type 2 dypatise"
      }
   ]
]

由于

解决

非常感谢nayoso 它对我有用。

String jsonString = "[
   [
      {
         "condition_id":"1",
         "condition_name":"Type 1 Diebetics"
      }
   ],
   [
      {
         "condition_id":"2",
         "condition_name":"Type 2 dypatise"
      }
   ]
]";
JSONArray jsonArray = new JSONArray(jsonString);
for(int i=0;i<jsonArray.length(),i++) {
   JSONArray childJsonArray = jsonArray.getJSONArray(i);
   JSONObject contentJsonObject = childJsonArray.getJSONObject(0);
   String conditionID = contentJsonObject.getString('condition_id');
   String conditionName = contentJsonObject.getString('condition_name');
   Log.i("TAG","Index "+i+" condition_id "+conditionID+" condition_name "+conditionName);
}

您可以使用org.json库轻松完成此操作。整个事情是JSONArray;在位置0(使用.get(0))你有另一个JSONArray;在0的位置,你有一个JSONObject,它将键映射到值(使用.getString())。

感谢chiastic-security也让我理解。

5 个答案:

答案 0 :(得分:2)

您可以使用内置的JSONArray和JSONObject类

String jsonString = "[
   [
      {
         "condition_id":"1",
         "condition_name":"Type 1 Diebetics"
      }
   ],
   [
      {
         "condition_id":"2",
         "condition_name":"Type 2 dypatise"
      }
   ]
]";
JSONArray jsonArray = new JSONArray(jsonString);
for(int i=0;i<jsonArray.length(),i++) {
   JSONArray childJsonArray = jsonArray.getJSONArray(i);
   JSONObject contentJsonObject = childJsonArray.getJSONObject(0);
   String conditionID = contentJsonObject.getString('condition_id');
   String conditionName = contentJsonObject.getString('condition_name');
   Log.i("TAG","Index "+i+" condition_id "+conditionID+" condition_name "+conditionName);
}

答案 1 :(得分:1)

您可以使用org.json库轻松完成此操作。整件事是JSONArray;在位置0(使用.get(0))你有另一个JSONArray;在位置0处,您有一个JSONObject,它将键映射到值(使用.getString())。

答案 2 :(得分:1)

试试这个

String data = ""; //your json data string
JSONArray jarray = new JSONArray(data);

for(int i = 0;i < jarray.length(); i++) {
    JSONArray jarry1 = jarray.getJSONArray(i);
    for(int j = 0; j < jarry1.length(); j++) {
        JSONObject jobj = jarry1.getJSONObject(0);
        String ConditionId = jobj.getString("condition_id");
        String ConditionName = jobj.getString("condition_name");
    }
}

答案 3 :(得分:1)

JSONArray jsonarray=new JSONArray(your_data);
                for(int i=0;i<jsonarray.length();i++)
                {
                    JSONArray array=jsonarray.getJSONArray(i);
                    for(int j=0;j<array.length();j++)
                    {
                        JSONObject jsonObject=array.getJSONObject(0);
                        String ConditionId=jsonObject.getString("condition_id");
                        String ConditionName=jsonObject.getString("condition_name");
                    }
                }

答案 4 :(得分:1)

      JSONArray jsonArray = new JSONArray("Your Data");
      JSONArray tempArray ; 
      net.sf.json.JSONObject tempJson ;
      for(int i = 0 ; i < jsonArray.length() ; i++)
      {
          tempArray =  jsonArray.getJSONArray(i);

          tempJson =  tempArray.getJSONObject(0);

          tempJson.get("condition_id");

          ....data So On
      }