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水印
Mar 16 PHP
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
PHP微信分享开发详解
Jan 14 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
Feb 26 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
PHP测试程序运行时间的类
2012/02/05 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PDO::exec讲解
2019/01/28 PHP
JavaScript中的私有成员
2006/09/18 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
vue实例的选项总结
2020/06/09 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
关于反爬虫的一些简单总结
2017/12/13 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python代码太长换行的实现
2019/07/05 Python
利用Python检测URL状态
2019/07/31 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
大学军训感言800字
2014/02/27 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技
使用Redis实现分布式锁的方法
2022/06/16 Redis