PHP“漂亮的打印”json_encode
可能重复:
漂亮的打印与PHP的JSON
我正在创build一个JSON文件的脚本。 现在我只使用json_encode
(PHP 5.2.x)将数组编码为JSON输出。 然后我将返回的值打印到一个文件并保存。 问题是,客户端希望能够打开这些JSON文件的可读性,所以我想添加换行符和“漂亮的打印”的JSON输出。 任何想法如何做到这一点? 我唯一可以看到的另一种select是不使用json_encode
,只需手动写入文件内容,并为每行添加自己的换行符。
这是我得到的:
{"product_name":"prod1","val1":1,"val2":8}
这是我想要的:
{ "product_name":"prod1", "val1":1, "val2":8 }
我想我也可以用一个命令replace每个逗号,然后是\ n,括号也是一样的。想法?
自5.4.0(发布date01-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);
将使您的string数组,这是很容易与print_r($array, true);
打印print_r($array, true);
但如果你真的想美化你的JSON … 检查了这一点
这是一个漂亮的json函数: pretty_json
而对于PHP 5.3,你可以使用这个函数,它可以embedded到一个类中或者用于程序风格:
http://svn.kd2.org/svn/misc/libs/tools/json_readable_encode.php