加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中JSON数据格式化怎样设置,代码是什么

发布时间:2023-07-03 14:52:59 所属栏目:PHP教程 来源:
导读:这篇文章主要讲解了“PHP中JSON数据格式化怎样操作,代码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中JSON数据格式化怎样操作,代
这篇文章主要讲解了“PHP中JSON数据格式化怎样操作,代码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中JSON数据格式化怎样操作,代码是什么”吧!
 
一、使用 json_encode 输出
 
header('content-type:application/json;charset=utf8');
 
$arr = array(
 
    'status' => true,
 
    'errMsg' => '',
 
    'member' =>array(
 
        array(
 
            'name' => '李',
 
            'gender' => '男'
 
        ),
 
        array(
 
            'name' => '赵',
 
            'gender' => '女'
 
        )
 
    )
 
);
 
  
 
echo json_encode($arr);
 
(推荐学习:PHP视频教程)
 
输出:
 
{"status":true,"errMsg":"","member":[{"name":"\u674e","gender":"\u7537"},{"name":"\u8d75","gender":"\u5973"}]}
 
二、使用 jsonFormat 输出
 
  
 
/** Json数据格式化
 
* @param  Mixed  $data   数据
 
* @param  String $indent 缩进字符,默认4个空格
 
* @return JSON
 
*/
 
function jsonFormat($data, $indent=null){
 
  
 
    // 对数组中每个元素递归进行urlencode操作,保护中文字符
 
    array_walk_recursive($data, 'jsonFormatProtect');
 
  
 
    // json encode
 
    $data = json_encode($data);
 
  
 
    // 将urlencode的内容进行urldecode
 
    $data = urldecode($data);
 
  
 
    // 缩进处理
 
    $ret = '';
 
    $pos = 0;
 
    $length = strlen($data);
 
    $indent = isset($indent)? $indent : '    ';
 
    $newline = "\n";
 
    $prevchar = '';
 
    $outofquotes = true;
 
  
 
    for($i=0; $i true,
 
    'errMsg' => '',
 
    'member' =>array(
 
        array(
 
            'name' => '李',
 
            'gender' => '男'
 
        ),
 
        array(
 
            'name' => '赵',
 
            'gender' => '女'
 
        )
 
    )
 
);
 
  
 
echo jsonFormat($arr);
 
  
 
输出:
 
{
 
    "status":true,
 
    "errMsg":"",
 
    "member":[
 
        {
 
            "name":"李",
 
            "gender":"男"
 
        },
 
        {
 
            "name":"赵",
 
            "gender":"女"
 
        }
 
    ]
 
}
 
三、php5.4 以后,json_encode增加了JSON_UNESCAPED_UNICODE , JSON_PRETTY_PRINT 等几个常量参数。使显示中文与格式化更方便。
 
header('content-type:application/json;charset=utf8');   
 
$arr = array(  
 
    'status' => true,  
 
    'errMsg' => '',  
 
    'member' =>array(  
 
        array(  
 
            'name' => '李',  
 
            'gender' => '男'  
 
        ),  
 
        array(  
 
            'name' => '赵',  
 
            'gender' => '女'  
 
        )  
 
    )  
 
);
 
echo json_encode($arr, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
 
输出:
 
{
 
    "status": true,
 
    "errMsg": "",
 
    "member": [
 
        {
 
            "name": "李",
 
            "gender": "男"
 
        },
 
        {
 
            "name": "赵",
 
            "gender": "女"
 
        }
 
    ]
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!