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