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 相关文章推荐
如何把PHP转成EXE文件
Oct 09 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
Look And Say 序列php实现代码
May 22 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
PHP中的类型提示(type hinting)功能介绍
Jul 01 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
May 28 PHP
Laravel 错误提示本地化的实现
Oct 22 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
js中this的用法实例分析
2015/01/10 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
Django中Model的使用方法教程
2018/03/07 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
十一个高级MySql面试题
2014/10/06 面试题
三年大学生活自我鉴定
2014/01/21 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
服务口号大全
2014/06/11 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
刑事法律意见书
2015/06/04 职场文书
城南旧事观后感
2015/06/11 职场文书
中学语文教学反思
2016/02/16 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android