2012-10-01 115 views
17

我有一個反序列化的原則集合序列化集合的問題。找不到關於這個和任何主題的文檔,我是JMSSerializer的新手。當我試着使用反序列化:JMSSerializer反序列化集合

$collection = $serializer->deserialize($jsonData,'Doctrine\Common\Collections\ArrayCollection','json'); 

$集合爲空

當我設置爲null,而不是類名我對結果ASSOC陣列。有沒有一種優雅的方式來反序列化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"}] 
+0

你可以粘貼串行化'ArrayCollection'的JSON到問題嗎? –

回答

43

哈!發現我做錯了:)我給反序列化方法錯誤的類型。應該是:

$serializer->deserialize($jsonData, 'ArrayCollection<EntityName>', 'json'); 

它給了我美麗的實體數組。

+0

你從哪裏找到這個解決方案? – tolgap

+2

只能通過實驗。沒有找到不幸的文檔,但看起來像deserialize方法可以採取類型參數相同的字符串定義爲例如這裏:[types](http://jmsyst.com/bundles/JMSSerializerBundle/master/reference/annotations#type) – mrMantir

+0

正是我正在尋找。感謝您找到解決方案! – Casey