JSONException:id 没有值

Posted

技术标签:

【中文标题】JSONException:id 没有值【英文标题】:JSONException: No value for id 【发布时间】:2012-07-12 14:32:59 【问题描述】:

它可以从数据库中正常读取和写入,但会出现 JSONException 错误。 任何帮助将不胜感激!

谢谢

【问题讨论】:

你能把你收到的错误信息贴出来吗,它会指出哪里出了问题。 W/System.err(18921): org.json.JSONException: id 没有值 你没有得到更多的堆栈跟踪吗? 乔恩,是的,我将错误消息发布到代码中。谢谢! 我没有得到我的行号,但你的 LoginActivity 的第 84 行可能是这个声明 db.addUser(json.getString(KEY_ID), json_user.getString(KEY_NAME), json_user.getString(KEY_EMAIL), json_user.getString(KEY_CREATED_AT)); 其他人指出的错误是 json.getString(KEY_ID) 声明。我建议首先打印出 json 以确保它是您所期望的。 【参考方案1】:

此错误发生在 JSONObject 的 getter 函数中,这意味着您正在尝试使用 JSONObject 中不存在的 id 从 JSONObject 检索值。在检索一个值之前,通过has(String name) 方法或使用 opt 方法检查它是否确实存在于JSONObject 中。有关JSONObject 类的更多信息,请参阅here。

编辑从您的错误日志中,错误在您的 ButtonOnClickListener 内的 getString 方法中触发,名为 btnRegister

【讨论】:

以上是关于JSONException:id 没有值的主要内容,如果未能解决你的问题,请参考以下文章

org.json.JSONException:名称没有值

org.json.JSONException:电子邮件没有值

org.json.JSONException:overview_polyLine 没有值

org.json.JSONException: JSONObject["shophours"] not found.

JSONException:java.lang.String 类型的值无法转换为 JSONObject

org.json.JSONException:java.lang.String 类型的值连接无法转换为 JSONArray