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

php – 将JSON解码为Symfony实体

除了编写自定义脚本将JSON对象解码为PHP实体之外,有没有人知道是否有一种简单的方法

我正在使用下面的脚本编码为JSON,但是当我解码它时,它是一个数组,而不是一个实体.

$serializer = new Serializer(array(new GetSetMethodnormalizer()), array('json' => new 
            JsonEncoder()));
            $json = $serializer->serialize($coupon, 'json');
            $session->set('json', $json);

然后我以这种方式解码

$session = $this->getRequest()->getSession();
    $json = $session->get('json');
    $serializer = new Serializer(array(new GetSetMethodnormalizer()), array('json' => new JsonEncoder()));
    $coupon = $serializer->decode($json, 'json');

但就像我说的……它不再是优惠券实体,它只是一个阵列.

解决方法:

假设以下工作:

$session = $this->getRequest()->getSession();
$json = $session->get('json');
$serializer = new Serializer(array(new GetSetMethodnormalizer()), array('json' => new JsonEncoder()));
$coupon = $serializer->decode($json, 'json');

$coupon是序列化数据的规范化数组.然后假设您希望实例化此类数据的类称为Coupon,您需要对其进行非规范化:

$coupon = $serializer->denormalize($coupon, 'Coupon');

注意名称空间,类名优惠券可能不正确.

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

相关推荐