JSON错误解析数据org.json.JSONException:输入结束时的字符0

时间:2014-11-17 10:39:23

标签: java json parsing

List<NameValuePair> params = new ArrayList<NameValuePair>();
// getting JSON string from URL
params.add(new BasicNameValuePair("id", android_id));
JSONObject json = jParser.makeHttpRequest("http://cp1.be/scriptsandroid/dbvoorbeeld2.php", "POST", params);

try {
    // Checking for SUCCESS TAG
    int success = json.getInt("success");

    if (success == 1) {
    }
} catch (JSONException e) {
    e.printStackTrace();
}

所以就像标题所说的那样是我得到的错误。我一直在寻找答案,但还没找到。提前谢谢。

我的php文件:

<?php
if(isset($_POST['id'])) {
    $key = $_POST['id'];
    require_once("db_licentieserver.php");

    $response["success"] = 1;

    echo json_encode($response);

} else {
    $response["success"] = 0;
    echo json_encode($response);
}
?>

在我的java项目中导入:

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

1 个答案:

答案 0 :(得分:1)

异常是说它试图解析长度为零的JSON文档。

最合理的解释是您发送的POST请求因某种HTTP错误而失败。您可能正在尝试阅读&#34;输出&#34;流,但真正的解释是在&#34;错误&#34;流。

  

所以我需要做些什么来实现这个目标呢?

不幸的是,我无法从您的Java代码段中了解jParser的类型以及makeHttpRequest方法的实现位置。 (我有一种想法是你自己写的,或者是从教程中复制的......)如果没有看到这些代码,就很难建议如何解决这个问题。

提示:只是简单的类名(每次更新JSONParser)不足以找出您正在使用的 JSONParser类。