php格式化json函数示例代码


Posted in PHP onMay 12, 2016

本文讲述了php格式化json函数的示例代码。分享给大家供大家参考,具体如下:

<?php
$arr = array("ret"=>0,"data"=>array('a' => 1, 'b' => '2', 'c' => 3, 'd' => 4, 'e' => 5));
$json = json_encode($arr);
/**
* Formats a JSON string for pretty printing
*
* @param string $json The JSON to make pretty
* @param bool $html Insert nonbreaking spaces and <br />s for tabs and linebreaks
* @return string The prettified output
*/
function _format_json($json, $html = false) {
 $tabcount = 0;
 $result = '';
 $inquote = false;
 $ignorenext = false;
 if ($html) {
  $tab = "   ";
  $newline = "<br/>";
 } else {
  $tab = "\t";
  $newline = "\n";
 }
 for($i = 0; $i < strlen($json); $i++) {
  $char = $json[$i];
  if ($ignorenext) {
  $result .= $char;
  $ignorenext = false;
  } else {
  switch($char) {
   case '{':
   $tabcount++;
   $result .= $char . $newline . str_repeat($tab, $tabcount);
   break;
   case '}':
   $tabcount--;
   $result = trim($result) . $newline . str_repeat($tab, $tabcount) . $char;
   break;
   case ',':
   $result .= $char . $newline . str_repeat($tab, $tabcount);
   break;
   case '"':
   $inquote = !$inquote;
   $result .= $char;
   break;
   case '\\':
   if ($inquote) $ignorenext = true;
   $result .= $char;
   break;
   default:
   $result .= $char;
  }
  }
 }
 return $result;
}
echo _format_json($json);
/*
{
 "ret": 0,
 "data": {
 "a": 1,
 "b": 2,
 "c": 3,
 "d": 4,
 "e": 5
 }
}
**/
?>

另外,本站还提供了如下格式化与转换工具方便大家使用:

php代码在线格式化美化工具:
http://tools.3water.com/code/phpformat

在线XML/JSON互相转换工具:
http://tools.3water.com/code/xmljson

JavaScript代码美化/压缩/格式化/加密工具:
http://tools.3water.com/code/jscompress

在线XML格式化/压缩工具:
http://tools.3water.com/code/xmlformat

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 #PHP
yii2带搜索功能的下拉框实例详解
May 12 #PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 #PHP
PHP数据库操作Helper类完整实例
May 11 #PHP
PHP查询附近的人及其距离的实现方法
May 11 #PHP
Smarty分页实现方法完整实例
May 11 #PHP
php简单获取复选框值的方法
May 11 #PHP
You might like
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
PHP执行linux命令常用函数汇总
2016/02/02 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
使用js实现数据格式化
2014/12/03 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
从零学Python之入门(四)运算
2014/05/27 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
本科毕业生专业自荐书范文
2014/02/05 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
选秀节目策划方案
2014/06/06 职场文书
校运动会广播稿300字
2014/10/07 职场文书
学校食品安全责任书
2015/01/29 职场文书
关爱空巢老人感想
2015/08/11 职场文书
《社戏》教学反思
2016/02/22 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书