PHP“漂亮的印刷品”json

可能重复:
漂亮的打印与PHP的JSON

我正在创建一个创建JSON文件的脚本。 现在我只是使用json_encode (PHP 5.2.x)将数组编码为JSON输出。 然后我将返回的值打印到一个文件并保存。 问题是客户端希望能够打开这些JSON文件以提高可读性,所以我想在JSON输出中添加换行符和“漂亮打印”。 任何想法如何做到这一点? 我唯一可以看到的另一种方法是根本不使用json_encode ,只需手动写入文件内容,并为每行添加自己的换行符。

这是我得到的:

{"product_name":"prod1","val1":1,"val2":8}

这是我想要的:

{
  "product_name":"prod1",
  "val1":1,
  "val2":8
}

我想我也可以用一个命令替换每个逗号,然后是 n,括号也是一样的......想法?


自5.4.0(发布日期01-Mar-2012)起,PHP具有JSON_PRETTY_PRINT选项。

这应该完成这项工作:

$json = json_decode($string);
echo json_encode($json, JSON_PRETTY_PRINT);

见http://www.php.net/manual/en/function.json-encode.php

注意:如果您使用HTML打印,请不要忘记在之前和之后回显“<pre>”;)


$array = json_decode($json, true); 将使你的字符串成为一个数组,它很容易用print_r($array, true);很好地打印print_r($array, true);

但是,如果你真的想要美化你的json ...请检查一下


这是一个让你的json漂亮的函数:pretty_json

链接地址: http://www.djcxy.com/p/47265.html

上一篇: PHP "pretty print" json

下一篇: In the shell, what does " 2>&1 " mean?