除了编写自定义脚本将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 举报,一经查实,本站将立刻删除。