栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将PHP对象序列化为JSON

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将PHP对象序列化为JSON


编辑 :目前是2016年9月24日,PHP 5.4已于2012-03-01发布,支持 已于 2015-09-01 结束
。不过,这个答案似乎获得了好评。如果您仍在使用PHP <5.4, 则可能会带来安全隐患,并破坏您的项目
。如果您没有令人信服的理由停留在<5.4,或者甚至已经使用版本> = 5.4, 请不要使用此答案 ,而只需使用PHP> =
5.4(或者您知道是最近的版本)并实现JsonSerializable接口


您将定义一个函数(例如named)

getJsonData();
,该函数将返回数组,
stdClass
对象或其他具有可见参数的对象,而不是私有/受保护的参数,然后执行
json_enpre($data->getJsonData());
。本质上,从5.4开始实现该功能,但要手动调用它。

可以

get_object_vars()
从类内部调用这样的方法,它可以访问私有/受保护的变量:

function getJsonData(){    $var = get_object_vars($this);    foreach ($var as &$value) {        if (is_object($value) && method_exists($value,'getJsonData')) { $value = $value->getJsonData();        }    }    return $var;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447179.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号