JMSSerializer反序列化集合

mrM*_*tir 18 symfony doctrine-orm jmsserializerbundle

我在反序列化学说集合的序列化集合时遇到问题.找不到关于那个和任何主题的文档,我是JMSSerializer的新手.当我尝试反序列化:

$collection = $serializer->deserialize($jsonData,'Doctrine\Common\Collections\ArrayCollection','json');
Run Code Online (Sandbox Code Playgroud)

$ collection是空的

当我设置为null而不是类名时,我在结果上有关联数组.是否有一种优雅的方式来反序列化json?

编辑:抱歉.这是序列化的集合:

[{"id":88,"name":"Poland","created_at":"2012-09-28T11:59:06+0000"},{"id":90,"name":"Great Britain","created_at":"2012-09-28T11:59:06+0000"}]
Run Code Online (Sandbox Code Playgroud)

mrM*_*tir 43

哈!发现我做错了:)我给反序列化方法错误的类型.应该:

$serializer->deserialize($jsonData, 'ArrayCollection<EntityName>', 'json');
Run Code Online (Sandbox Code Playgroud)

它给了我美丽的一系列实体.

  • 仅通过实验.遗憾的是没有发现文档,但看起来像deserialize方法可以将类型参数作为类型参数,例如此处定义的字符串:[types](http://jmsyst.com/bundles/JMSSerializerBundle/master/reference/annotations#type) (3认同)