将我的Symfony2实体转换为数组的最有效方法是什么?实体包含带有setters/getters的 protected 字段。可以用JMSSerializer
吗?
最佳答案
使用此捆绑包是将实体转换为序列化格式的最有效方法。此外,它是Sensio Labs推荐的。
序列化您只需要安装,配置此捆绑包,然后:
$serializer = JMS\Serializer\SerializerBuilder::create()->build();
$serializer->serialize($object, 'json');
并反序列化:
$serializer = JMS\Serializer\SerializerBuilder::create()->build();
$object = $serializer->deserialize($jsonData, 'MyNamespace\MyObject', 'json');
而已。
您还可以使用它将对象转换为数组:
$serializer = JMS\Serializer\SerializerBuilder::create()->build();
$array = $serializer->toArray($object);
另外,您可以使用序列化组来防止无限递归:
$serializer = JMS\Serializer\SerializerBuilder::create()->build();
$context = \JMS\Serializer\SerializationContext::create();
$context->setGroups($groups);
$serializer->serialize($object, 'json', $context);
问候
关于symfony - 将单个实体转换为数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21230901/