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 相关文章推荐
解决GD中文乱码问题
Feb 14 PHP
几个php应用技巧
Mar 27 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
PHP新手入门学习方法
May 08 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
PHP处理会话函数大总结
Aug 05 PHP
PHP实现批量上传单个文件
Dec 29 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
laravel 实现根据字段不同值做不同查询
Oct 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
python脚本定时发送邮件
2020/12/22 Python
用python制作个音乐下载器
2021/01/30 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
shell的种类有哪些
2015/04/15 面试题
电子商务专业个人的自我评价
2013/12/19 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
先进班集体事迹材料
2014/12/25 职场文书
保管员岗位职责
2015/02/14 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
捐书活动倡议书
2015/04/27 职场文书
同学会感言
2015/07/30 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
详解Python类和对象内容
2021/06/22 Python