不灭的焱

加密类型:SHA/AES/RSA下载Go
复合类型:切片(slice)、映射(map)、指针(pointer)、函数(function)、通道(channel)、接口(interface)、数组(array)、结构体(struct) Go类型+零值nil
引用类型:切片(slice)、映射(map)、指针(pointer)、函数(function)、通道(channel) Go引用

作者:AlbertWen  添加时间:2020-09-17 17:15:38  修改时间:2025-12-26 00:55:09  分类:12.PHP库/系统  编辑

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