2012-10-01 13 views
17

Tengo un problema con la deserialización de una colección serializada de recopilaciones de doctrinas. No pude encontrar documentos sobre eso ni sobre ningún tema y soy nuevo con JMSSerializer. Cuando trato con deserializar:JMSSerializer deserializing collection

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

colección $ está vacío

cuando configurado en nulo en lugar del nombre de la clase que tengo matriz asociativa en consecuencia. ¿Hay alguna manera elegante de deserializar a ese json?

EDITAR: Lo siento. Aquí está la colección serializada:

[{"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

¿Puedes pegar el json de la serie 'ArrayCollection' a la pregunta? –

Respuesta

43

¡Hah! Encontré lo que hice mal :) Le di al método deserializar el tipo incorrecto. Debe ser:

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

y me dio una hermosa variedad de entidades.

+0

¿Dónde encontraste esta solución? – tolgap

+2

por solo experimento. No se encontraron documentos desafortunadamente, pero parece que el método deserialize puede tomar como argumento de tipo las mismas cadenas definidas, por ejemplo, aquí: [tipos] (http://jmsyst.com/bundles/JMSSerializerBundle/master/reference/annotations#type) – mrMantir

+0

justo lo que yo estaba buscando. gracias por encontrar la solución! – Casey