我已经用 Objects 序列化了 ArrayCollection,一切都用 jms/serializer-bundle 序列化为 json。
当我想用键反序列化我的集合时(这很重要):
deserialize($data, 'ArrayCollection<int, FooBundle\Entity\Item>', 'json');
我得到数组。但是当我用结果创建新的 ArrayCollection 时:
new ArrayCollection(deserialize($data, 'ArrayCollection<int, FooBundle\Entity\Item>', 'json'));
一切都很好,我得到了带有对象的 ArrayCollection 并且所有键都被保留了。也许有人知道为什么第一种方法不起作用?
Jms 序列化程序有可能在此处反序列化为 ArrayCOllection f Objects 部分@Type:http: //jmsyst.com/libs/serializer/master/reference/annotations