Java 无法在Android中解析JSON响应

Java 无法在Android中解析JSON响应,java,php,android,json,Java,Php,Android,Json,我知道这个问题很常见,但所有的解决方案似乎都不适合我的情况。我试图从PHP Web服务中检索JSON响应,但我一直收到这个错误 Error parsing data org.json.JSONException: Value <br of type java.lang.String W/System.err: org.json.JSONException: No value for success 在日志返回的JSON中,我在LogCat中收到的输出是 D/Returned JSON:

我知道这个问题很常见,但所有的解决方案似乎都不适合我的情况。我试图从PHP Web服务中检索JSON响应,但我一直收到这个错误

Error parsing data org.json.JSONException: Value <br of type java.lang.String
W/System.err: org.json.JSONException: No value for success
在日志
返回的JSON
中,我在LogCat中收到的输出是

D/Returned JSON: {"androidid":"1"}
但是日志
JSON成功值
没有输出。如第一块所示,成功没有任何价值。PHP是给我的,我没有编写它,因为我几乎没有PHP方面的知识,所以服务可能是有问题的。下面是可能相关的代码

<?php
define('IEM_PATH', '../admin/com');
require_once('../admin/includes/config.php');
require_once('../admin/com/lib/IEM.class.php');
require_once ('../admin/com/lib/IEM/DBFACTORY.class.php');
require_once ('../admin/com/lib/IEM/baseAPI.class.php');
require_once ('../admin/com/lib/API/USERS.class.php');
require_once ('../admin/com/lib/IEM/baseRecord.class.php');
require_once ('../admin/com/lib/record/Users.class.php');

    function GetLists($userid = 0, $getUnconfirmedCount = false) {

        $userid = $_REQUEST['userID'];
        if (!$userid) {
        trigger_error('This user object is not loaded with any user.... You will need to supply the userid as a parameter.', E_USER_NOTICE);
            return false;
        }


        if (!$userid) {
            $userid = $this->userid;
        }

        // If user is a "System Admin" or a "List Admin", allow to access all lists
      /*  if ($userid == $this->userid) {
            if ($this->ListAdmin() || $this->listadmintype == 'a') {
                $userid = 0;
            }
        }
      */
        require_once('../admin/functions/api/lists.php');

        $listapi = new Lists_API();
        $returnA =  $listapi->GetListByUserID($userid, $getUnconfirmedCount);
        $returnResult1 = array();
            foreach ($returnA as $key => $value) { 
                //$lists[] = $key;
                $returnResult["contactList"][] = array("listID" => $returnA[$key]['listid'], "name" => $returnA[$key]['name']);
            }
       $returnResult["success"] = 1;
       echo json_encode($returnResult) ;
    }
    //}
    GetLists();

JSON响应中有错误

JSON对象中没有键“success”

正如我所看到的,在
{“android”:“1”}
常量中只有android作为键

您得到的是字符串而不是整数。 错误在下面的语句中

success = returnedJSONObj.getInt(Constant.TAG_SUCCESS);
应该是

success = returnedJSONObj.getString(Constant.TAG_SUCCESS);

您分配给
常量.TAG_SUCCESS
的值是错误的,它被称为
SUCCESS

因此,将
常量的值。TAG_SUCCESS
更改为“android
或make”
另一个变量为
android
,并将其赋值为
android` 这将为您提供所需的输出

改变

success = returnedJSONObj.getInt(Constant.TAG_SUCCESS);


什么是您分配的
Constant.TAG_SUCCESS
值?我认为php有问题。您返回的json不包含任何成功键,那么您将如何获得该值that@Clairvoyant公共静态最终字符串标记_SUCCESS=“SUCCESS”;在浏览器中运行php脚本。您是否看到屏幕上显示任何json数据检查/跟踪php/apache错误日志,并显示脚本是否有错误
success = returnedJSONObj.getInt(Constant.TAG_SUCCESS);
success = returnedJSONObj.getString(yourNewVariable); //new variable having value which is your json attribute