调用 getJSONObject 时出现 JSON 异常
在 json 对象中,如果我们可以通过 jsonobj.has("element_name") 找到数据是否存在,那么我们如何检查数据是 jsonarray 还是 json 对象,如果只找到一个事件元素,则遵循错误给出错误并抛出 JSONException。
JsonObject jObj;
if (json.has("Events")) {
try {
JSONArray eventsArray = json.getJSONObject("Events");
} catch (JSONException e) {
jObj = json.getJsonObject(""Events"")
}
}
IN json object if we can found if data exist by jsonobj.has("element_name") by how can we check that data is jsonarray or json object, follow error gives error if only one events element found and throws JSONexception.
JsonObject jObj;
if (json.has("Events")) {
try {
JSONArray eventsArray = json.getJSONObject("Events");
} catch (JSONException e) {
jObj = json.getJsonObject(""Events"")
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您尝试使用
getJSONObject
而不是getJSONArray
读取数组是否有原因?如果
Events
数组可能并不总是存在,您应该使用optJSONArray
方法。如果这是一个不同的问题,您需要发布一些成功和失败案例的 JSON 示例,以使您的问题更清楚。
Is there a reason you're trying to read an array using
getJSONObject
instead ofgetJSONArray
?If it's possible that the
Events
array doesn't always exist, you should be using theoptJSONArray
method.If it's a different problem, you'd need to post some example JSON for the success and failure cases to make your question clearer.