PHP的“漂亮打印”json_encode
PHP的“漂亮打印”json_encode
这个问题已经有了答案:
可能是重复的问题:
我正在编写一个创建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,括号也一样……有什么想法吗?
admin 更改状态以发布 2023年5月21日
Hmmm $array = json_decode($json, true);
会使您的字符串变成一个数组,可以用print_r($array, true);
美观地打印。
但是,如果您真的想美化您的json......看看这个
PHP自5.4.0版本(发布日期:2012年3月1日)就拥有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中输出它以保留格式,请不要忘记在前面加上“
”和在后面加上“
” 😉