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 变量定义和变量替换的方法
Jul 30 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
php实现模拟post请求用法实例
Jul 11 PHP
修复ShopNC使用QQ 互联时提示100010 错误
Nov 08 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
PHP7 新特性详细介绍
Sep 06 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
PHP PDOStatement::rowCount讲解
Feb 01 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 Session变量不能传送到下一页的解决方法
2009/11/27 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP使用in_array函数检查数组中是否存在某个值
2015/03/25 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
设定php简写功能的方法
2019/11/28 PHP
javascript 节点遍历函数
2010/03/28 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
Python实现k-means算法
2018/02/23 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
小学运动会表扬稿
2014/01/19 职场文书
倡议书的写法
2014/08/30 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
Win11软件图标固定到任务栏
2022/04/19 数码科技