Php Android中的JSON异常

Php Android中的JSON异常,php,android,json,Php,Android,Json,我试图在localhost中对数据库执行查询,并将JSON对象发送到android中的客户端。我不知道我的代码有什么问题。所以请有人在这方面帮助我 我的php代码就是发送JSON对象的代码。 php代码 查询已成功执行 $row=mysql_fetch_array($result1); $email=$row['EM']; $pass=$row['PASS']; $post=array("email"=>$email, "pass"=>$pass);

我试图在localhost中对数据库执行查询,并将JSON对象发送到android中的客户端。我不知道我的代码有什么问题。所以请有人在这方面帮助我

我的php代码就是发送JSON对象的代码。 php代码

查询已成功执行

$row=mysql_fetch_array($result1);


    $email=$row['EM'];
    $pass=$row['PASS'];

    $post=array("email"=>$email, "pass"=>$pass); 
    $posts[] = array("post"=>$post);
    //echo "SUCCESS";
    header('Content-type: application/json');

    echo json_encode(array("posts"=>$posts));
在安卓方面,我有下面的代码

HttpResponse response = doPost(url, kvPairs);
        String responseBody=response.toString();
        String temp = EntityUtils.toString(response.getEntity());
        if (temp.compareTo("SUCCESS")==0)
        {
            Toast.makeText(this, "Working", Toast.LENGTH_LONG).show();
        }
以上部分执行。。 下面的代码抛出一个JSON异常

        JSONObject json = new JSONObject(responseBody);
    JSONArray jArray = json.getJSONArray("posts");
    no_of_obj=jArray.length();
    nemail=new String[no_of_obj];
    npass=new String[no_of_obj];
    for (int i = 0; i < jArray.length(); i++) {
        JSONObject e = jArray.getJSONObject(i);
        String s = e.getString("post");
        JSONObject jObject = new JSONObject(s);
       Toast.makeText(context,jObject.getString("email")+":"+jObject.getString("pass") , duration).show();
        nemail[i]=jObject.getString("email");
        npass[i]=jObject.getString("pass");

    }
jsonobjectjson=newjsonobject(responseBody);
JSONArray jArray=json.getJSONArray(“posts”);
no_of_obj=jArray.length();
nemail=新字符串[没有对象];
npass=新字符串[没有对象];
for(int i=0;i

在日志cat中,我可以看到:json字符串必须以“{”开头…

可能您不能这样做

String s = e.getString("post");
因为您给定的字符串数组中没有“post”键

试着这样做

String s = e.has("post")?e.getString("post"):null;
然后在下一行中,在创建JSONObject之前保持空检查。

试试这个

$posts['data'] = $post;
//echo "SUCCESS";
header('Content-type: application/json');
echo json_encode($posts);

你能在日志中输出JSON对象,然后在这里发布吗?有时如果你在开始时有额外的信息(比如PHP警告或其他)在查看从API.line返回的实际数据之前,您不会知道这一点。与最后一个Java块相关的异常将有帮助,这意味着您的url存在一些问题。请在浏览器中检查url,看看您得到了什么。否则,
doPost(url,kvpair)中会出现一些问题
methodorg.json.JSONException:JSONObject文本必须在org.apache.http.message的字符1处以“{”开头。BasicHttpResponse@44ee70b8这是logcat中显示的内容。这一行JSONObject=new JSONObject(ResponseBy)中也有异常;在doPost中没有错误。我在发送的php代码中得到了值。查询也会在数据库中执行。编码JSON对象时有错误吗?