Android - JSON 抛出异常

Android - JSON throwing exception

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

当我 运行 应用程序时,它只显示 5 个元素,导致第五个元素抛出异常("org.json.JSONException: No value for Title",我知道标题丢失。我只想知道解决这个问题) 和其余数组元素未读取。

代码如下:

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

既然你不能使用jsonObject.has("tag"),你也可以分解try-catch块。

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

对每个字段重复此操作。请在课堂外有意识地使用它。

您正在使用的 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()...)将return设置值如果可用或将return 如果密钥不可用,你将什么值作为 "fallback"。