gpt4 book ai didi

java - JSONException : No value for error

转载 作者:行者123 更新时间:2023-12-01 21:59:17 33 4
gpt4 key购买 nike

我收到以下错误:

JSONException: No value for error

在 Android Studio 中的我的日志(查看日志截图的链接: /image/45eeF.png )上,它说原因是由于这行代码:

boolean error = jObj.getBoolean("error");

原因也是因为这行代码:

AppConfig.URL_LOGIN, new Response.Listener<String>() {

当我将请求发送到我的服务器时(以便我可以登录我的应用程序)。我可以看到它很成功。我已将其记录在服务器上,这是输出:

output user
{ _id: 5650e78597f6e98413a737d4,
name: 'b',
email: 'b@hotmail.com',
hashed_password: 'r+rDSXpJtFl7rXzUNyNbhAwgBSNq5uk2khARiyHyqUzTNF8dkXbUhRhErvMfsUMpUxg89zFWw57uOlI7O006aw==',
salt: 'gzoxOSNZkTvOHyl9xzKZAg==',
username: 'b',
__v: 0,
provider: 'local',
roles: [ 'authenticated' ] }
end output user
POST /api/login 200 355 - 54.181 ms

另一方面,服务器的响应看起来有所不同。我已将其记录在我的应用程序上,这是输出:

11-22 19:34:30.374 3668-3668/? I/System.out: output response
11-22 19:34:30.375 3668-3668/? I/System.out: {"token":"eyJhbGciOiJIUzI1NiJ9.JTdCJTIyX2lkJTIyOiUyMjU2NTBlNzg1OTdmNmU5ODQxM2E3MzdkNCUyMiwlMjJuYW1lJTIyOiUyMmIlMjIsJTIyZW1haWwlMjI6JTIyYkBob3RtYWlsLmNvbSUyMiwlMjJ1c2VybmFtZSUyMjolMjJiJTIyLCUyMl9fdiUyMjowLCUyMnByb3ZpZGVyJTIyOiUyMmxvY2FsJTIyLCUyMnJvbGVzJTIyOiU1QiUyMmF1dGhlbnRpY2F0ZWQlMjIlNUQlN0Q.eXM6a4dUMDMv2feQpzbgi0q355jbINXI5ErlP_jKNk0","redirect":"/"}
11-22 19:34:30.375 3668-3668/? I/System.out: end output response

我通过链接发布我的方法,因为该方法太大,无法在此处发布。在下面的链接中你可以看到我的方法:

http://pastebin.com/ix9YpkKa

最佳答案

正如错误明确指出的那样,

JSONException: No value for error

这意味着它无法找到error键。在您的代码中,

                System.out.println("output response");
System.out.println(response);
System.out.println("end output response");
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");

从服务器获得的响应

{"token":"eyJhbGciOiJIUzI1NiJ9.JTdCJTIyX2lkJTIyOiUyMjU2NTBlNzg1OTdmNmU5ODQxM2E3MzdkNCUyMiwlMjJuYW1lJTIyOiUyMmIlMjIsJTIyZW1haWwlMjI6JTIyYkBob3RtYWlsLmNvbSUyMiwlMjJ1c2VybmFtZSUyMjolMjJiJTIyLCUyMl9fdiUyMjowLCUyMnByb3ZpZGVyJTIyOiUyMmxvY2FsJTIyLCUyMnJvbGVzJTIyOiU1QiUyMmF1dGhlbnRpY2F0ZWQlMjIlNUQlN0Q.eXM6a4dUMDMv2feQpzbgi0q355jbINXI5ErlP_jKNk0","redirect":"/"}

只有 2 个键。一个是 token ,另一个是重定向。您试图在下面的行中找到其中的错误,因此它崩溃了。

boolean error = jObj.getBoolean("error");

要解决上述问题,您可以在获取值之前检查 JSONObject 是否包含 error 键。大概是这样的

JSONObject jObj = new JSONObject(response);
if(jObj.contains("error")){
boolean error = jObj.getBoolean("error");
}

关于java - JSONException : No value for error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859552/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com