java - 从 PHP Web 服务解析 JSON 对象时出错

标签 java php android json

我似乎从我的 PHP 网络服务中获得了一个不完整的 JSON 对象。我的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('User object has no user id as parameter.', E_USER_NOTICE);
            return false;
        }


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

        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();

但是,当我尝试检索结果时,我的 logcat 只显示:

E/JSON Parser: Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
W/System.err: org.json.JSONException: No value for success

通过记录,我的 android 返回我的 JSON 对象如下

D/Returned JSON: {"androidid":"1"}

来自这些代码

// getting JSON response from PHP web service
JSONObject returnedJSONObj = listsJSONParser.makeHttpRequest(Constant.URL
                    + "RetrieveList.php", "GET", params);

Log.d("Returned JSON ", String.valueOf(returnedJSONObj));

success = returnedJSONObj.getInt("success");

我不明白为什么当我的 PHP 根据代码返回 JSON 数组和成功值时没有成功值,但是 android studio java 代码没有检测到 JSON 对象中的这些值。我在这里做错了什么?

最佳答案

你应该修改你的android代码

success = returnedJSONObj.getInt("success");

success = returnedJSONObj.getInt("androidid");

关于java - 从 PHP Web 服务解析 JSON 对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34870221/

相关文章:

android - Gradle 构建失败 : Unable to find method 'org.gradle.api.tasks.testing.Test.getTestClassesDirs()Lorg/gradle/api/file/FileCollection;'

Java:使用另一个 map 的信息创建一个新 map ,而不是创建引用

java - Maven - 无法执行目标 org.apache.maven.plugins :maven-clean-plugin:2. 4.1:clean

java - 类实例化没有发生

java - 为什么我会收到空​​指针异常

php - 如何将CSS应用于Wordpress/Woocommerce中除某些产品页面之外的所有页面?

安卓安卓 :keepScreenOn

php - 如何解决csv文件导入中的单引号错误?

php - cakephp 错误 - 验证显示两次

java - 如何在android中的图像上放置黑色透明