如何检查一个元素是 JSONArray 还是 JSONObject。我写了代码来检查,
if(jsonObject.getJSONObject("Category").getClass().isArray()) {
} else {
}
在这种情况下,如果元素“类别”是 JSONObject,那么它可以正常工作,但如果它包含一个数组,那么它会抛出异常:JSONArray 无法转换为 JSONObject。请帮忙。 谢谢。
最佳答案
是的,这是因为 getJSONObject("category")
会尝试将该 String
转换为 JSONObject,这将引发 JSONException
。您应该执行以下操作:
使用以下方法检查该对象是否为 JSONObject
:
JSONObject category=jsonObject.optJSONObject("Category");
如果 category
对象不是 json 对象,则返回 JSONObject
或 null
。
然后执行以下操作:
JSONArray categories;
if(category == null)
categories=jsonObject.optJSONArray("Category");
这将返回您的 JSONArray
或 null 如果它不是有效的 JSONArray
。
关于java - JSON Java 检查元素是 JSONArray 或 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284663/