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同时支持GIF、png、JPEG
Oct 09 PHP
php的一些小问题
Jul 03 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
PHP闭包实例解析
Sep 08 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
PHP5.3新特性小结
Feb 14 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
PHP时间处理类操作示例
Sep 05 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自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
python抓取文件夹的所有文件
2018/02/27 Python
总结python中pass的作用
2019/02/27 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
pycharm运行scrapy过程图解
2019/11/22 Python
python机器学习库xgboost的使用
2020/01/20 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
公务员培训心得体会
2013/12/28 职场文书
初中校园之声广播稿
2014/01/15 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
详解Nginx 工作原理
2021/03/31 Servers
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL