php - 格式 echo json_encode

标签 php json

<分区>

我想格式化echo json_encode,目前输出是

{"results":{"course":"CC140","books":{"book":[[{"id":"300862","title":"Building object-oriented software","isbn":"0070431965","borrowedcount":"6"}]]}}}

而我想这样输出:

{
    "results": {
        "course": "CC140",
        "books": {
            "book": [
                [
                    {
                        "id": "300862",
                        "title": "Building object-oriented software",
                        "isbn": "0070431965",
                        "borrowedcount": "6"
                    }
                ]
            ]
        }
    }
}

这是生成 JSON 的代码

$temp = array();
    foreach ($my_array as $counter => $bc) {
        $temp['id'] = "$id[$counter]";
        $temp['title'] = "$title[$counter]";
        $temp['isbn'] = "$isbn[$counter]";
        $temp['borrowedcount'] = "$borrowedcount[$counter]";
        $t2[] = $temp;
    }

        $data = array(
  "results" => array(
    "course" => "$cc",
    "books" => array(
      "book" =>
      array(  
        $t2
      )
    )
  )
);
    echo json_encode($data);

任何帮助或指点将不胜感激,谢谢

添加这个

header('Content-type: application/json');
echo json_encode($data, JSON_PRETTY_PRINT);

格式化 JSON,但 header 也超出了整个 HTML 文档

最佳答案

我要给出的第一条建议是:不要。 JSON 是一种数据格式。使用工具处理它,而不是尝试让您的服务器对其进行格式化。

如果您要忽略它,请参阅 json_encode function 的手册它给出了一个选项列表,其中包括JSON_PRETTY_PRINT,它被描述为在返回的数据中使用空格来格式化它。自 PHP 5.4.0 起可用。

因此步骤是:

  1. 确保您使用的是 PHP 5.4.0 或更新版本
  2. json_encode($data, JSON_PRETTY_PRINT);

关于php - 格式 echo json_encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066976/

相关文章:

php - Ajax 下拉列表不起作用

javascript - 验证数据并将其保存到数据库以供实时应用程序的正确方法

javascript - 需要转换JSON格式

php - 当您将鼠标悬停在网页上的链接上时,如何隐藏浏览器状态栏上的链接?

php - 下拉选择后自动填充文本字段

javascript - JSON.stringify 发送空对象

php - Sendgrid 邮件列表 ID

java - 使用python从java应用程序中读取json

javascript - jQuery 下一个-上一个图库按钮在结束时不停止

java - 将 JSON 反序列化为 Java 枚举