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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
第四节 构造函数和析构函数 [4]
Oct 09 PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
PHP中的表达式简述
May 29 PHP
php中preg_replace_callback函数简单用法示例
Jul 21 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 PHP
php 使用 __call实现重载功能示例
Nov 18 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比较运算符的详细介绍
2015/09/29 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
javascript object array方法使用详解
2012/12/03 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
vue中render函数的使用详解
2018/10/12 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
浅析Python四种数据类型
2018/09/26 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
深入浅析Python中的迭代器
2019/06/04 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
银行会计业务的个人自我评价
2013/11/02 职场文书
财务管理个人自荐书范文
2013/11/24 职场文书
三年级小学生评语
2014/04/22 职场文书
理财学专业自荐书
2014/06/28 职场文书
服务宗旨标语
2014/07/01 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
见习报告怎么写
2014/10/31 职场文书
材料采购员岗位职责
2015/04/03 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
Mysql 一主多从的部署
2022/05/20 MySQL
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python