尝试创建JSONObject以无法评估org.json.JSONObject.toString()结束

时间:2017-04-01 18:29:59

标签: java json

我一直关注tutorial(老实说,我是复制粘贴,因此我不知道为什么它不起作用,因为我没有改变一件事)我有这个String响应,我需要转换为Json对象。

响应=

  

CONFIG.PHP \ r \ N { “错误”:假​​, “用户”:{ “名称”: “测试”, “姓”: “测试”, “地址”: “测试”, “电子邮件”: “测试”}}

try JSONObject jObj = new JSONObject(response);之后我的程序跳转到异常,并显示一条消息:

  

方法抛出'java.lang.NullPointerException'异常。不能   评估org.json.JSONObject.toString()

response或其他什么的结构吗?

这是我使用它的地方:

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

                try {
                    JSONObject jObj = new JSONObject(response);
                    boolean error = jObj.getBoolean("error");

                    // Check for error node in json
                    if (!error) {
                        // user successfully logged in
                        // Create login session
                        session.setLogin(true);

                        // Now store the user in SQLite

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

                        // Inserting row in users table
                        db.addUser(name, surname, address, email);

                        // Launch main activity
                        Intent intent = new Intent(LoginScreen.this,
                                MainMenu.class);
                        startActivity(intent);
                        finish();
                    } else {
                        // Error in login. Get the error message
                        String errorMsg = jObj.getString("error_msg");
                        Toast.makeText(getApplicationContext(),
                                errorMsg, Toast.LENGTH_LONG).show();
                    }
                } catch (JSONException e) {
                    // JSON error
                    e.printStackTrace();
                    Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show();
                }

            }

2 个答案:

答案 0 :(得分:0)

在将响应转换为JSON对象之前,从响应中删除Config.php\r\n前缀。

答案 1 :(得分:0)

您的response不是有效的json字符串。

请参阅RFC 7159

您也可以通过在线json formatter

验证您的json