在android中解析具有多个值的JSONArray

时间:2016-03-26 06:35:06

标签: java android json

我有一个JSON文件,如:

 { "data" :
     { "stop1" : [ "elem1", "elem2", "elem3", "elem4"],    
       "stop2" : [ "selem1", "selem2", "selem3", "selem4"] 
     } 
 }

为解析此文件,我编写了以下代码: -

HashMap<String, String> stopList = new HashMap<>();
JSONObject dataJsonObj = (new JSONObject(json)).getJSONObject("data");
JSONArray busStopJsonObj, urlJsonObj;

busStopJsonObj = dataJsonObj .getJSONArray("stop1");
urlJsonObj = dataJsonObj .getJSONArray("stop2");

for (int i = 0; i < busStopJsonObj.length(); i++) 
   stopList.put(busStopJsonObj.getString(i), urlJsonObj.getString(i));

然而我收到错误:

  

org.json.JSONException:Value {&#34; stop1&#34;:[&#34; elem1&#34;,&#34; elem2&#34;
   org.json.JSON.typeMismatch(JSON.java:100)    org.json.JSONArray.getJSONArray(JSONArray.java:500)

1 个答案:

答案 0 :(得分:0)

好像你的JSON无效。正确的JSON应该是:

{"data": {
    "stop1": [
      "elem1",
      "elem2",
      "elem3",
      "elem4"
    ],
    "stop2": [
      "selem1",
      "selem2",
      "selem3",
      "selem4"
    ]
  }
}