php - json_encode正在截断从mysql数据库读取的对象数据

标签 php mysql json

我正在 PHP 5.6.8 中开发一个 Web 应用程序,使用 MySql 作为数据库引擎。

在我验证用户是否具有适当凭据的方法中,我正在调用数据库并检索用户对象。功能代码为:

function getBoosterDetails($patientId){
       $dbConnection = new Database();

       $sql = "SELECT * from users where id = :patientId";
       try {
           $db = $dbConnection->getConnection();
           $stmt = $db->prepare($sql);
           $stmt->bindParam("patientId", $patientId);
           $stmt->execute();
           $userDetails = $stmt->fetchAll(PDO::FETCH_OBJ);
           $db = null;
           $_SESSION['userDetails'] = $userDetails;

           echo '{"user": ' . json_encode($userDetails) . '}';


       } catch(PDOException $e) {
           echo '{"error":{"text":'. $e->getMessage() .'}}'; 
       } catch(Exception $e1) {
           echo '{"error11":{"text11":'. $e1->getMessage() .'}}'; 
       } }

对于任何有效的输入,我都收到对象无效的错误。我尝试在 Advanced Rest Client Chrome 插件中检查 userDetails 对象。我观察到,虽然对象的 var 转储具有整个对象数据,但 json_encode 的回显已被截断,如下图所示。

![在此处输入图像描述][1]

我已经使用 XAMPP 设置了 Apache 和 MySql 服务器(并且之前也尝试过使用 MAMP 并得到了相同的结果。)

// this is the var_dump
    stdClass object
(
    [username]  => pavan
    [rolename]  => Patient
    [userid]  => 5
)

//this is the json_encode echo output
{"user": [{"username":"pavan", "rolename":"Patient", "userid":

内容在采用 json 编码时会被截断 您能帮我解决这个问题吗?

最佳答案

不要将 json-in-json 包装起来。这是错误的。

用您的宿主语言(例如 php)构建一个单一数据结构,然后对整个结构进行编码:

$data = array(
   'user' => $userDetails
);
$json = json_encode($data);

您的代码正在生成语法非法的 json...

   echo '{"user":' . json_encode($userDetails) . '}}';**
         ^--open #1                               ^--close #1
                                                   ^--close #2

这个#2 大括号闭合是什么?如果您进行单结构编码,这是不可能的。

关于php - json_encode正在截断从mysql数据库读取的对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478531/

相关文章:

android - 如何使用光标适配器刷新适配器中的评级

PHP/mySQL - 仅检索唯一元值的查询

javascript - 如何在没有 HTML 的 JS 中使用 Blob 保存 JSON 文件

使用 Delphi Xe5 将 JSON 转为 StringList

json - Express.Js 可以输出缩小的 JSON 吗?

php - 使用另一个标签将缩略图添加到 WordPress RSS

php - PrestaShop WebService - 各种产品的价格更新

javascript - 该 JSON 无效吗?

php - 如何在子域中制作 seo 友好的 url

php - 通过 MYSQL Explode 只允许 1 个赞成票