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 相关文章推荐
PHP4之真OO
Oct 09 PHP
一棵php的类树(支持无限分类)
Oct 09 PHP
实用函数7
Nov 08 PHP
hessian 在PHP中的使用介绍
Dec 13 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
PHP数组基本用法与知识点总结
Jun 02 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
星际争霸中的热键
2020/03/04 星际争霸
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP安全下载文件的方法
2016/04/07 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
webpack打包js的方法
2018/03/12 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python描述器descriptor详解
2015/02/03 Python
儿童学习python的一些小技巧
2018/05/27 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Django实现简单的分页功能
2021/02/22 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
如何写一个自定义标签
2012/12/28 面试题
文化与传播毕业生求职信
2014/03/09 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
水电站项目建议书
2014/05/12 职场文书
结对共建工作方案
2014/06/02 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js