gpt4 book ai didi

java - JSON 解析 : Error parsing data org. json.JSONException:输入字符 0 的结尾

转载 作者:行者123 更新时间:2023-11-29 21:59:57 26 4
gpt4 key购买 nike

我面临 json 解析器错误,我不知道是什么原因导致的,因为有时它工作正常,有时错误只是弹出,我的数据没有更新到数据库中。数据将发布到 php 文件以加密并更新到数据库。有的时候能插入数据库,有的时候不能插入,会提示json解析错误。

这是我的错误:

08-31 01:10:55.598: E/JSON Parser(360): Error parsing data org.json.JSONException: End of input at character 0 of 

这是我的代码:

String email = db.getEmail();
String currentPassword = cpCurrentPassword.getText().toString();
String newPassword = cpNewPassword.getText().toString();

// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair(
"currentpassword", currentPassword));
params.add(new BasicNameValuePair("newpassword",
newPassword));
JSONObject json = jsonParser
.makeHttpRequest(
newpassword_url, "POST",
params);

try {
int success1 = json1
.getInt(TAG_SUCCESS);
if (success1 == 1) {
showToast("Password successfully changed!");

这是我的 PHP:

<?php
// array for JSON response
$response = array();

// check for required fields
if (isset($_POST['email']) && isset($_POST['newpassword'])){
$email = $_POST['email'];
$newpassword = $_POST['newpassword'];
}
// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

$result = mysql_query("UPDATE users SET encrypted_password = '$newpassword' WHERE email = '$email'");

// check if row inserted or not
if ($result) {
// successfully updated
$response["success"] = 1;
$response["message"] = "Password successfully changed";

// echoing JSON response
echo json_encode($response);
}
?>

即使数据没有更新到数据库,我的成功标签仍然会返回1。这是我不明白的地方。

最佳答案

尝试更改参数名称。

// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("currentpassword", currentPassword));
params.add(new BasicNameValuePair("newpassword", newPassword));

有了这个

// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email1", email));
params.add(new BasicNameValuePair("currentpassword1", currentPassword));
params.add(new BasicNameValuePair("newpassword1", newPassword));

并在 php 代码中更改它

$email = $_POST['email1'];
$newpassword = $_POST['newpassword1'];

让我们看看这行不行

关于java - JSON 解析 : Error parsing data org. json.JSONException:输入字符 0 的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202350/

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