org.json.JSONException:在 android 的字符 0 处输入结束

2023-12-10

我正在实现一个 Android 应用程序并尝试制作注册和登录屏幕。我的应用程序已连接到服务器,这是我的代码出错的部分:

public void onResponse(String response) {
            Log.d(TAG, "Register Response: " + response.toString());
            hideDialog();

            try {
                JSONObject jObj = new JSONObject(response);
                boolean error = jObj.getBoolean("error");
                if (!error)
                {
                    // User successfully stored in MySQL
                    // Now store the user in sqlite
                    String uid = jObj.getString("uid");

                    JSONObject user = jObj.getJSONObject("user");
                    String name = user.getString("name");
                    String email = user.getString("email");
                    String created_at = user
                            .getString("created_at");

                    // Inserting row in users table
                    db.addUser(name, email, uid, created_at);

                    Toast.makeText(getApplicationContext(), "User successfully registered. Try login now!", Toast.LENGTH_LONG).show();

                    // Launch login activity
                    Intent intent = new Intent(
                            RegisterActivity.this,
                            LoginActivity.class);
                    startActivity(intent);
                    finish();
                } else
                {

                    // Error occurred in registration. Get the error
                    // message
                    String errorMsg = jObj.getString("error_msg");
                    Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
                    Log.d("Debug", errorMsg);

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "Registration Error: " + error.toString());
            Toast.makeText(getApplicationContext(),
                    error.getMessage(), Toast.LENGTH_LONG).show();
            hideDialog();
        }
    }) {

这是我的错误: org.json.JSONException:在字符 0 处输入结束。 实际上我在这个网站上看到过类似的问题,但我无法解决我的问题

更新: 这是我的logcat内容,响应前面没有任何内容:

 1576-1576/com.example.neshat.androidhive2 D/RegisterActivity﹕ Register Response:
12-21 09:43:08.820    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ org.json.JSONException: End of input at character 0 of
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at org.json.JSONTokener.syntaxError(JSONTokener.java:450)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at org.json.JSONTokener.nextValue(JSONTokener.java:97)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at org.json.JSONObject.<init>(JSONObject.java:156)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at org.json.JSONObject.<init>(JSONObject.java:173)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.example.neshat.androidhive2.RegisterActivity$3.onResponse(RegisterActivity.java:124)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.example.neshat.androidhive2.RegisterActivity$3.onResponse(RegisterActivity.java:116)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:739)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at android.os.Looper.loop(Looper.java:135)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5221)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
12-21 09:43:08.824    1576-1576/com.example.neshat.androidhive2 W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

正如您在 logcat 中看到的1576-1576/com.example.neshat.androidhive2 D/RegisterActivity﹕ Register Response:这是的结果Log.d(TAG, "Register Response: " + response.toString());, response是一个空字符串,所以你的应用程序将得到org.json.JSONException: End of input at character 0 of在线上JSONObject jObj = new JSONObject(response);.

你应该检查一下response不为 null 并且首先不是空字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

org.json.JSONException:在 android 的字符 0 处输入结束 的相关文章

随机推荐

  • SVG 图案中使用的圆帽线

    当前使用 SVG
  • 在 python pandas 中合并数据帧而不重复行[重复]

    这个问题在这里已经有答案了 我想使用相似的列 A 组合两个数据框 gt gt gt df1 A B 0 I 1 1 I 2 2 II 3 gt gt gt df2 A C 0 I 4 1 II 5 2 III 6 为此 我尝试使用 合并 p
  • 查找并替换数组中的重复项,但用不同的字符串替换每个第 n 个实例

    我下面有一个由重复字符串组成的数组 我想查找并替换这些字符串 但每次匹配时我想更改替换字符串的值 让我演示一下 该示例数组 SampleArray champ king king mak mak mak 应该改为 SampleArray c
  • Google 登录可在开发版本中工作,但不能在预览版本中工作

    我正在构建一个带有 expo 和 React Native 的应用程序 我通过 firebase 使用 Google 登录 当我运行 iOS 开发版本时 登录功能完美运行 但是 当我运行 iOS 预览版本时 出现以下错误 访问被阻止 此应用
  • 已通过身份验证,但 user.is_authenticated 仍为 false

    使用 GAE Django nonrel 创建简单的应用程序 我不认为问题特定于 GAE 或 nonrel 分支 最有可能是 PEBKAC 作为 python django noob 并且会在基本 django 安装时发生 我正在使用 dj
  • 无法使用 Python SqlAlchemy 将数据写入 Vertica 数据库 - 类型“TEXT”不存在

    我正在尝试将 pandas 数据框上传到 Vertica 数据库 能够使用 sqlalchemy 设置引擎和查询数据库 但是 当我尝试从 pandas dataframe 上传数据时 会收到错误消息 因为类型 TEXT 不存在 我使用的是
  • TAPI 的替代技术?

    是否有支持第三方呼叫控制 3pcc 的 TAPI 替代技术 我想在应用程序中提供以下 3pcc 功能 拨出电话 用户单击应用程序中的按钮 用户的电话摘机 被叫电话振铃 被叫者的电话显示被叫者的电话号码 而不是用于应用程序的电话号码 当被叫者
  • 无法使用 Selenium Webdriver 打开 Chrome 浏览器。管理员禁止加载解压的扩展

    我正在使用 Selenium Webdriver C Visual Studio 和 Chrome 浏览器自动化我的应用程序 当 selenium 尝试打开 chrome 浏览器时 我出现在弹出窗口下方 Failed to load ext
  • 附上Java源代码

    我一生都无法将 java 源代码附加到 eclipse 中 这样我就可以看到该语言的内部工作原理 甚至不是像 String 类这样简单的东西 当我运行 java version 时 这就是我所拥有的 java version 1 6 0 1
  • 视口原点动画

    我正在开发一个 Windows Phone 应用程序 其中有一个视口控制器 使我能够放大和缩小内容 我想将缩放居中于缩放点 我可以做什么 Viewportcontroller SetViewportOrigin 但这使得viewportco
  • 如何将数据框(R)导出到Oracle表中

    我需要一个如何将数据从 R 传输到 Oracle 表的建议 我有一个 R 数据框 我想将其传输到特定的 Oracle 表 整个数据框或某些列 作为一个选项 通过 R 将放置在 csv 文件中的数据帧传输到 Oracle 中 我已经在整个 i
  • 有没有办法在没有 JQuery UI 的情况下使用自动完成功能

    有没有办法在没有 JQuery UI 的情况下使用自动完成功能 因为 JQuery UI 的占用空间太大 包括其 CSS 或者是否有任何替代插件或其他东西 我用谷歌搜索了很多 但没有找到任何 您可以构建自己的不依赖于 JQuery UI 它
  • 在Powershell中使用升级后的FolderBrowserDialog(“Vista风格”)

    我在用着电源外壳使用户能够浏览 Node js 应用程序的文件 文件夹路径 因为到目前为止我还没有找到更好的轻量级替代方案 并且我遇到了处理可怕的 可怜的问题的老问题可用性FolderBrowserDialog不支持 粘贴路径 访问快速访问
  • 在发布模式下构建解决方案时,“LinkAssemblies”任务意外失败

    我的项目正在成功构建Debug模式 但是当我将其更改为Release模式 出现以下异常 Severity Code Description Project File Line Suppression State Error The Link
  • 停止执行 Groovy 脚本

    我正在我的代码中嵌入 Groovy 运行时 并且我希望能够中断它 我无法控制将要运行的脚本 我读到有关 groovy transform ThreadInterrupt 来处理线程中断的信息 但由于某种原因 下面的代码无法按预期工作 它实际
  • String.intern() 的垃圾收集行为

    如果我使用 String intern 来提高性能 因为我可以使用 来比较实习字符串 我会遇到垃圾收集问题吗 内部字符串的垃圾收集机制与普通字符串有何不同 String intern 管理一个内部的 本机实现的池 它具有一些与 GC 相关的
  • 如何水平居中DIV

    如何将 DIV 与此 URL 上的文本框和按钮水平居中 http tinyurl com d4lpyh5 问候 凯文 在第 10 行 您应该为 div 添加宽度 改变 div style margin left auto margin ri
  • dojo dgrid 中不区分大小写的排序

    是否可以不区分大小写进行排序 例如 默认情况下排序显示如下 Awesomeman adam beyonce 但是 我想排序 adam Awesomeman beyonce 是否可以轻松地覆盖灵敏度 据我所知 网格继承自OnDemandGri
  • std::mersenne_twister_engine 和随机数生成

    如果我执行以下操作 会生成什么分布 均匀分布 泊松分布 正态分布等 输出似乎表明均匀分布 但是 为什么我们需要std uniform int distribution int main std mt19937 64 generator 13
  • org.json.JSONException:在 android 的字符 0 处输入结束

    我正在实现一个 Android 应用程序并尝试制作注册和登录屏幕 我的应用程序已连接到服务器 这是我的代码出错的部分 public void onResponse String response Log d TAG Register Res