Android-JSON抛出异常

时间:2018-10-03 18:28:22

标签: android json exception-handling

所以,我有一个学校项目,必须解析一个json数组并将数据放入列表视图中。 这是json http://demo4404797.mockable.io/speakers

当我运行该应用程序时,它仅显示5个元素,导致第五个抛出异常(“ org.json.JSONException:标题没有值”,我知道标题丢失。我只想知道解决这样),其余的数组元素也无法读取。

代码如下:

我在其他问题中读到我们可以使用“ ourobject.has(“ whatwewant”)“,但是我的老师说必须以其他方式完成。你能帮我吗?

2 个答案:

答案 0 :(得分:1)

您使用的JSON中的第六项没有title键。

由于不允许使用“ ourobject.has(“ whatwewant”)“。

只需将使用speaker.getString()的代码替换为此:

 String name = speaker.optString("Name", "Name NA");
 String image= speaker.optString("Image", "Image NA");

opt方法(有多个optString(),optLong(), optBoolean() ...)将返回设置值(如果有),或者返回您输入的值如果密钥不可用,则作为“备用”。

答案 1 :(得分:-1)

由于您无法使用jsonObject.has("tag"),因此您也可以拆分try-catch块。

String name;
try {
    name = speaker.getString("name");
} catch (Exception e) {
    name = ""; // Occurs when it can't find the tag.
}

对每个字段重复此操作。请在教室外故意使用它。