Я сериализовал ArrayCollection с объектами, все сериализовано в json с помощью jms/serializer-bundle.
Когда я хочу десериализовать свою коллекцию с ключами (это важно):
deserialize($data, 'ArrayCollection<int, FooBundle\Entity\Item>', 'json');
Я получаю массив. Но когда я создаю новый ArrayCollection с результатами:
new ArrayCollection(deserialize($data, 'ArrayCollection<int, FooBundle\Entity\Item>', 'json'));
Все в порядке, и я получаю ArrayCollection с объектами, и все ключи сохраняются. Может кто знает, почему 1-й способ не работает?
Сериализатор Jms имеет возможность десериализации в раздел ArrayCOllection f Objects @Type здесь: http://jmsyst.com/libs/serializer/master/reference/annotations