我尝试使用json.org中的Java JSON库简单地解析JSON数组。我从服务器检索的JSON是一个JSON数组,具有以下结构:
[
{
"a": "u",
"b": "v"
},
{
"a": "x",
"b": "y"
}
]
要解析它,我使用这个简单的指令:
JSONArray jsonArray = new JSONArray(result);
for(int i=0; i<jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
//further processing here
}
这应该可以正常工作,但我在执行时遇到了这个错误:
JSONArray[0] is not a JSONObject.
为了解决这个问题,我使用toString()实现打印了JSONArray对象,我得到了这个:
["[{"a":"u","b":"v"},{"a":"x","b":"y"}]"]
奇怪的是,JSONArray(String string)方法在提供的JSON周围添加[""]
...因此之前的错误,因为数组的第一个子节点是String。我该怎么解决这个问题?
请注意,我使用的是最新版本的json.org库(2014年11月13日)。我以前在Android应用程序中使用它,我从未遇到过这个问题。如果可能的话,我不想使用其他图书馆。