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 相关文章推荐
用phpmyadmin更改mysql5.0登录密码
Mar 25 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 PHP
php preg_replace替换实例讲解
Nov 04 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php转换颜色为其反色的方法
Apr 27 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 PHP
PHP使用Session实现上传进度功能详解
Aug 06 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP中返回引用类型的方法
2015/04/03 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
PHP7 标准库修改
2021/03/09 PHP
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
Python实现爬取并分析电商评论
2020/06/19 Python
python实现批处理文件
2020/07/28 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
《花木兰》教学反思
2014/04/09 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
入党综合考察材料
2014/06/02 职场文书
采购部长岗位职责
2014/06/13 职场文书
写给医院的感谢信
2015/01/22 职场文书
焦裕禄观后感
2015/06/03 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
教你如何用cmd快速登录服务器
2022/06/10 Servers
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers