【问题标题】:Android JSON conversion issueAndroid JSON 转换问题
【发布时间】:2016-08-19 10:40:33
【问题描述】:

[这是无法转换的字符串] 和1[编辑:这是我的错误的 logcat]2 我目前正在尝试为我的应用程序实现登录,它有一个登录、登录请求,注册和注册请求活动。在我的注册活动中,我将用户数据发送回我的数据库,但是当我尝试在我的设备上执行此操作时,我在 Android 监视器中收到一个错误,显示为 “org.json.JSONException:值

我将 MySQL 和 000Webhost 用于我的数据库和托管。下面是我认为可能与错误有关的代码,但我不太确定。如果有人可以在这里提供帮助,我将不胜感激。

touristRegisterBTN.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String touristName = touristNameRegET.getText().toString();
            final String touristEmail = touristEmailRegET.getText().toString();
            final String touristPassword = touristPasswordRegET.getText().toString();


            Response.Listener<String> responseListener = new Response.Listener<String>(){

                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject jsonResponse = new JSONObject(response);
                        boolean success = jsonResponse.getBoolean("success");

                        if(success){
                            Intent intent = new Intent(touristRegister.this, touristLogin.class);
                            touristRegister.this.startActivity(intent);

                        }else{
                            AlertDialog.Builder builder = new AlertDialog.Builder(touristRegister.this);
                            builder.setMessage("Registration failed!")
                                    .setNegativeButton("Retry", null)
                                    .create()
                                    .show();

                        }


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

【问题讨论】:

  • 请发布字符串响应和logcat
  • 嗨,刚刚编辑了我的问题以包含图像。提前感谢您提供的任何帮助。
  • 还有字符串响应。这就是android无法转换为json的原因。如logcat所示,字符串不是json格式,难免出现json异常
  • 抱歉,我想我已经添加了您要查找的内容

标签: java android mysql json


【解决方案1】:

您的 logcat 说 &lt;br&gt;&lt;table of type java.lang.String cannot be converted to JSONObject 这基本上意味着您尝试解析为 JSON 字符串的字符串不是 JSON 字符串。从外观上看,它是一个 HTML 文档。

基本上response 变量无效,无法转换。您要么指向错误的 URL,要么服务器返回了错误的数据。如果您不确定 JSON 字符串应该是什么样子,这里有一个示例

{
    "username": "myusername",
    "token": "JD297H48FUO2J048JF729F2",
    "wadus": [1, 2, 3, 4],
    "timestamp": 123144535143,
    "success": true
}

【讨论】:

  • 啊,现在我开始看到它了。尝试从我的数据库回读时可能会遇到错误。谢谢。
  • 完成了。作为更新,对于那些可能感兴趣的人,这个错误实际上来自用于将我的应用程序连接到我的数据库的 php 文件之一,更具体地说,在我删除它之后,在我的“mysqli_stmt_bind_param”方法中仍然声明了一个 int我的登录表单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 2011-02-20
  • 1970-01-01
  • 2017-09-21
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多