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"。
所以,我有一个学校项目,我必须在其中解析 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"。