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 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP实现的回溯算法示例
Aug 15 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
php实现小程序支付完整版
Oct 09 PHP
Laravel配置全局公共函数的方法步骤
May 09 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
关于PHP语言构造器介绍
2013/07/08 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
php计算税后工资的方法
2015/07/28 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
javascript this用法小结
2008/12/19 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
8个有意思的JavaScript面试题
2019/07/30 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python中解析json格式文件的方法示例
2017/05/03 Python
python设置值及NaN值处理方法
2018/07/03 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
Python如何操作docker redis过程解析
2020/08/10 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
全球性的在线购物网站:Zapals
2017/03/22 全球购物
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
创业计划书撰写原则
2014/01/25 职场文书
高中综合实践活动总结
2014/07/07 职场文书
医院见习报告范文
2014/11/03 职场文书
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android