php json转换成数组形式代码分享


Posted in PHP onNovember 10, 2014

写的json转换成数组的一个类和方法,实际上写的方法可以把大部分包含json字符串的数据结构转换成数组,上代码:

class antiTranJson

{

  protected  static function jsonToArray($json)

  {

    if(!is_string($json) || is_null(json_decode($json, true)))

      throw new NotJsonStringException('param is not a json string');

    $deJson = json_decode($json, true);

    return self::toArray($deJson);

  }
  protected  static function stdClassToArray($stds)

  {

    if(is_object($stds))

      throw new NotObjectException('params not object');

    $params = get_object_vars($stds);

    return self::toArray($params);

  }
  protected  static function arrayRToArray($params)

  {

    $tmp = array();

    if(!is_array($params))

      throw new NotArrayException('params not array');

    foreach($params as $k=>$v)

    {

      $tmp[$k] = self::toArray($v);

    }

    //var_dump($tmp);

    return $tmp;

  }
  //调用这个方法,包含json的数据均可以被转换

  public static function toArray($params)

  {

    $tmp = array();

    if(is_string($params) && !is_null(json_decode($params)))

      $tmp = self::jsonToArray($params);

    elseif(is_array($params))

      $tmp = self::arrayRToArray($params);

    //这里注意一下,假如$params 是一个对象,只有包含的属性是可读取(public或者临时的对象属性)的时候才能实现转换

    elseif(is_object($params))

      $tmp = self::stdClassToArray($params);

    else

      $tmp = $params;

    return $tmp;

  }

以上就是相关代码,至少目前用的时候还是可以得,如果各位有好的建议,希望大家讨论讨论,共同进步,谢谢
PHP 相关文章推荐
JS实现php的伪分页
May 25 PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
php常用字符函数实例小结
Dec 29 PHP
PHP多进程编程实例详解
Jul 19 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
PHP基本语法
Mar 31 PHP
PHP冒泡算法详解(递归实现)
Nov 10 #PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 #PHP
PHP 快速排序算法详解
Nov 10 #PHP
PHP基于CURL进行POST数据上传实例
Nov 10 #PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 #PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 #PHP
php学习笔记之面向对象
Nov 08 #PHP
You might like
php 文本文件的读取效率
2012/02/10 PHP
PHP递归创建多级目录
2015/11/05 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
Python字符串处理之count()方法的使用
2015/05/18 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python队列原理及实现方法示例
2019/11/27 Python
几款好用的python工具库(小结)
2020/10/20 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
学习决心书
2014/03/11 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
个人年度总结报告
2015/03/09 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
Django 实现jwt认证的示例
2021/04/30 Python