PHP的“漂亮打印”json_encode

22 浏览
0 Comments

PHP的“漂亮打印”json_encode

这个问题已经有了答案:

可能是重复的问题:

使用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,括号也一样……有什么想法吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

Hmmm $array = json_decode($json, true); 会使您的字符串变成一个数组,可以用print_r($array, true);美观地打印。

但是,如果您真的想美化您的json......看看这个

0
0 Comments

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中输出它以保留格式,请不要忘记在前面加上“

”和在后面加上“

” 😉

0