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 相关文章推荐
php下把数组保存为文件格式的实例应用
Feb 08 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
Dec 07 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
php array_pop 删除数组最后一个元素实例
Nov 02 PHP
php常用日期时间函数实例小结
Jul 04 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 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中关键字interface和implements详解
2017/06/14 PHP
js 数组操作代码集锦
2009/04/28 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
tensorflow实现KNN识别MNIST
2018/03/12 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
pandas 时间格式转换的实现
2019/07/06 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
路政管理专业个人自荐信范文
2013/11/30 职场文书
项目资料员岗位职责
2013/12/10 职场文书
超市总经理岗位职责
2014/02/02 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
环保建议书400字
2014/05/14 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
皇城相府导游词
2015/02/06 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
php 原生分页
2021/04/01 PHP
如何用python反转图片,视频
2021/04/24 Python
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
Python实现滑雪小游戏
2021/09/25 Python