微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

代码如下:
njson { 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; }

以上就是相关代码,至少目前用的时候还是可以得,如果各位有好的建议,希望大家讨论讨论,共同进步,谢谢

原文地址:https://www.jb51.cc/php/23477.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐