Android - 调用getJSONArray抛出没有stacktrace的JSONException

时间:2010-04-07 00:28:52

标签: android json getjson

我目前正在开发一款Android应用程序,它可以从JSON提要中提取论坛列表。我正在尝试解析feed并在调用getJSONArray时立即抛出JSON异常而没有堆栈跟踪。返回的JSON存储在JSONObject jobj中,格式如下:

{
    "Forum":
        [
         {"ForumName":"CEC Employee Communications Forum","ForumId":"105"},
         {"ForumName":"CEC External Stakeholder Relations Forum","ForumId":"109"},
         {"ForumName":"See All...","ForumId":"0"}
        ]
}

然而,当运行以下代码时,我得到一个没有堆栈跟踪的立即异常:

JSONArray jarray = new JSONArray();
jarray = jobj.getJSONArray("Forum");

正在运行

jobj.GetJSONArray("Forum").toString();

返回看起来正确的格式数组:

[
 {"ForumName":"CEC Employee Communications Forum","ForumId":"105"},
 {"ForumName":"CEC External Stakeholder Relations Forum","ForumId":"109"},
 {"ForumName":"See All...","ForumId":"0"}
]

我也试过

JSONArray jarray = new JSONArray(jobj.GetJSONArray("Forum").toString());

并立即抛出异常。

1 个答案:

答案 0 :(得分:0)

那么,这样的事情无济于事吗?我怀疑你可以在没有堆栈跟踪的情况下获得异常:

JSONarray jarray = null;
try {
   jarray = jobj.getJSONArray("Forum");
}
catch(JSONException je) { je.printStackTrace(); }