【发布时间】:2011-04-21 14:12:33
【问题描述】:
嘿, 我在调用 getJSONArray 时注意到了这种非常奇怪的行为。 这是我的代码:
JSONObject jsonObject = new JSONObject(data);
if (!jsonObject.getJSONObject("transfer").has("skill"))
return Collections.emptyList();
JSONArray events = jsonObject.getJSONObject("transfer").getJSONArray("skill");
现在,只要转移有超过1个技能元素,一切都很好,但是当只有1个技能元素时,我得到一个例外:
原因:org.json.JSONException: 值 {"id":"2","name":"DOGS"} 在 org.json.JSONObject 类型的技能 无法转换为 JSONArray 在 org.json.JSON.typeMismatch(JSON.java:96) 在 org.json.JSONObject.getJSONArray(JSONObject.java:548) ....
这有意义吗?我真的必须捕获异常并处理这种特定的数组吗?
谢谢, 乌迪
【问题讨论】: