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 相关文章推荐
phpmyadmin3 安装配置图解教程
Mar 29 PHP
discuz目录文件资料汇总
Dec 30 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
基于PHP实现通过照片获取ip地址
Apr 26 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
laravel 解决强制跳转 https的问题
Oct 22 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 PHP
php实例化对象的实例方法
Nov 17 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 连接mssql数据库 初学php笔记
2010/03/01 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现Linux下守护进程的编写方法
2014/08/22 Python
python实现FTP服务器服务的方法
2017/04/11 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
实践Vim配置python开发环境
2018/07/02 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
Django实现表单验证
2018/09/08 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
python退出循环的方法
2020/06/18 Python
Python 读取位于包中的数据文件
2020/08/07 Python
迟到检讨书500字
2014/02/05 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
环保公益广告语
2014/03/13 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
大学生自荐信范文
2015/03/05 职场文书
写给老师的保证书
2015/05/09 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android