PHP在5.3之后提供了相关的方法,将一个数组 格式化成json字符串时,指定 JSON_PRETTY_PRINT 参数即可
$arr = ['name' => 'perter', 'course' => ['java', 'php', 'python'], 'sex' => '男']; echo json_encode($arr, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
- JSON_UNESCAPED_UNICODE 不进行unicode编码
- JSON_UNESCAPED_SLASHES 不对/加\
- JSON_UNESCAPED_SLASHES 用空白字符格式化返回的数据
如果要在网页中正常显示,还需要外加一个 <pre></pre> 标签。最后,给出函数实现如下:
/** * 美化json字符串 * * @param string $jsonStr * @param boolean $isHtml 是否输出html格式 * @return string */ public static function prettyJson($jsonStr = '', $isHtml = true) { $jsonStr = trim($jsonStr); $jsonStr = json_encode(json_decode($jsonStr, true), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); if (!$isHtml) { return $jsonStr; } return '<pre>' . $jsonStr . '</pre>'; }