php JSON数据格式化(美化)的方法

php JSON数据格式化(美化)的方法

内容导读

收集整理的这篇技术教程文章主要介绍了php JSON数据格式化(美化)的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2413字,纯文字阅读大概需要4分钟

内容图文


一、使用 json_encode 输出

<?phpheader('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 输出

<?php
/** 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<=$length; $i++){




$char = substr($data, $i, 1);




if($char=='"' && $prevchar!='\'){





$outofquotes = !$outofquotes;



}elseif(($char=='}' || $char==']') && $outofquotes){





$ret .= $newline;





$pos --;





for($j=0; $j<$pos; $j++){







$ret .= $indent;





}



}




$ret .= $char;







 if(($char==',' || $char=='{' || $char=='[') && $outofquotes){





$ret .= $newline;





if($char=='{' || $char=='['){







$pos ++;





}






for($j=0; $j<$pos; $j++){







$ret .= $indent;





}



}




$prevchar = $char;

}


return $ret;}
/** 将数组元素进行urlencode* @param String $val*/function jsonFormatProtect(&$val){

if($val!==true && $val!==false && $val!==null){



$val = urlencode($val);

}}
header('content-type:application/json;charset=utf8');
$arr = array(

'status' => 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 等几个常量参数。使显示中文与格式化更方便。

<?phpheader('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": "女"



}

]}

以上就是php JSON数据格式化(美化)的方法的详细内容。

内容总结

以上是为您收集整理的php JSON数据格式化(美化)的方法全部内容,希望文章能够帮你解决php JSON数据格式化(美化)的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com