使用JSON_PRETTY_PRINT缩进大小

Tho*_*art 9 php json

php函数json_encode()有一个选项,可以在输出的json中为"漂亮"版本设置缩进.此选项称为:JSON_PRETTY_PRINT

一个小小的烦恼是这个特征在所述凹痕中使用4个空格.

有没有办法让它使用2个空格而不是4个或有效的方法来处理输出以将4个空格减少到2 - 而不会破坏任何可能在其中有空格的json键/值.

Clá*_*lva 8

试试这个:

$data = ['some' => 'data'];
$json = preg_replace_callback ('/^ +/m', function ($m) {
  return str_repeat (' ', strlen ($m[0]) / 2);
}, json_encode ($data, JSON_PRETTY_PRINT));
Run Code Online (Sandbox Code Playgroud)