java.lang.String无法转换为JSONObject

时间:2015-01-02 23:17:22

标签: java php android mysql json

我有一个数据库,我在我的Android应用程序(帐户)中使用。 我希望用户能够更改他/她的密码 我正在使用java,mySQL,PHP和JSON 用户名需要通过他们的id更新,我刚刚创建了代码来执行此操作但是我收到错误...:“解析数据时出错org.json.JSONException:Value< br>< java.lang类型的表.String无法转换为JSONObject“。

以下是一些代码行,我使用:

PHP

$query = "UPDATE users SET username = :username WHERE id = :id";
$stmt   = $db->prepare($query);
$result = $stmt->execute($query_params);

我还需要检查用户名是否已成功更新,但稍后我会这样做 我只是用:

$response["success"] = 1;
$response["message"] = "Username is succesfully changed!";
die(json_encode($response));

JAVA

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
id = sp.getInt("id", 1);
EditText newUsername = (EditText)findViewById(R.id.etNewUsername);
username = newUsername.getText().toString();

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id", Integer.toString(id)));
params.add(new BasicNameValuePair("username", username));
Log.d("request!", "starting");
JSONObject json = jsonParser.makeHttpRequest(url, "POST", params);
Log.d("After updating username", json.toString());

但标签:“更新用户名后”在LogCat中出现错误后才出现 所以我知道错误在HttpRequest中 也许这是身份证?因为它将被转换为String并且在数据库中id是一个整数?

我们将非常感谢您的帮助! 感谢。

1 个答案:

答案 0 :(得分:0)

Error parsing data org.json.JSONException: Value < br>< table of type java.lang.String cannot be converted to JSONObject

注意价值 - "<br> <table"。您正在尝试将HTML视为JSON。这不起作用,因此JSONParser抛出异常。你没有抓住异常,所以你崩溃了。