首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式回显json_encode

格式回显json_encode
EN

Stack Overflow用户
提问于 2013-02-25 20:27:29
回答 2查看 29.1K关注 0票数 4

我想格式化回声json_encode,输出是当前

代码语言:javascript
复制
{"results":{"course":"CC140","books":{"book":[[{"id":"300862","title":"Building object-oriented software","isbn":"0070431965","borrowedcount":"6"}]]}}}

而我想这样输出:

代码语言:javascript
复制
{
    "results": {
        "course": "CC140",
        "books": {
            "book": [
                [
                    {
                        "id": "300862",
                        "title": "Building object-oriented software",
                        "isbn": "0070431965",
                        "borrowedcount": "6"
                    }
                ]
            ]
        }
    }
}

这是使JSON

代码语言:javascript
复制
$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);

如有任何帮助或建议,我将不胜感激,谢谢

添加这个

代码语言:javascript
复制
header('Content-type: application/json');
echo json_encode($data, JSON_PRETTY_PRINT);

格式化JSON,但标头也包含整个HTML文档

EN

回答 2

Stack Overflow用户

发布于 2013-02-25 20:31:31

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

如果您打算忽略这一点,请参阅json_encode function手册,其中提供了一个选项列表,其中包括JSON_PRETTY_PRINT,该选项被描述为在返回的数据中使用空格来格式化它。从PHP 5.4.0开始可用。

因此,步骤如下:

确保您使用的是PHP5.4.0或newer

  • json_encode($data, JSON_PRETTY_PRINT);

票数 19
EN

Stack Overflow用户

发布于 2013-02-25 20:31:31

你可以在php 5.4+中使用json_encode($data, JSON_PRETTY_PRINT)

在php 5.3中,你可以尝试用正则表达式来格式化它,但是它不太安全(或者你可以使用库来编码json)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15066976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档