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>';
}