各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

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

管理员 2023-09-05
PHP
161

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数据格式化(美化)的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

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

相关推荐

扫码关注

qrcode

QQ交谈

回顶部