小编Jon*_*nny的帖子

symfony 反序列化嵌套对象

我使用了 Symfony 序列化器来序列化我的Recherche对象。在一个Recherche对象中,我有子对象 :CategorieLieu

当我反序列化我的Recherche对象时,所有子对象都被转换成数组。我希望它们再次成为对象。

这就是我序列化对象的方式:

$encoders = array(new JsonEncoder());
$normalizer = new ObjectNormalizer();
$normalizer->setIgnoredAttributes(array('parent', 'enfants'));
$normalizer->setCircularReferenceHandler(function ($object) {
    return $object->getCode();
});
$normalizers = array($normalizer);
$serializer = new Serializer($normalizers, $encoders);
$rechercheJson= $serializer->serialize($recherche, 'json');
Run Code Online (Sandbox Code Playgroud)

这就是我反序列化它的方式:

$encoders = array(new JsonEncoder());
$normalizer = new ObjectNormalizer();
$normalizer->setIgnoredAttributes(array('parent', 'enfants'));
$normalizer->setCircularReferenceHandler(function ($object) {
    return $object->getCode();
});
$normalizers = array($normalizer);
$serializer = new Serializer($normalizers, $encoders);
$recherche = $serializer->deserialize($recherche_json, Recherche::class, 'json');
Run Code Online (Sandbox Code Playgroud)

我认为可能与规范化器有关,但我在文档中找不到任何对我有帮助的内容。

任何人都有帮助的想法?

谢谢 !

编辑:看到这篇文章后:使用 symfony …

serialization deserialization symfony-3.4

3
推荐指数
2
解决办法
8601
查看次数