2012-10-01 40 views
17

Tôi gặp vấn đề với việc thu thập lại bộ sưu tập các tập hợp giáo lý được tuần tự hóa. Không thể tìm thấy tài liệu về điều đó và bất kỳ chủ đề nào và tôi mới sử dụng JMSSerializer. Khi tôi cố gắng deserialize với:JMSSerializer deserializing collection

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

$ sưu tập trống

Khi tôi đặt null thay vì tên lớp tôi có mảng assoc trên kết quả. Có một cách thanh lịch để deserialize rằng json?

EDIT: Xin lỗi. Đây là bộ sưu tập được sắp xếp theo thứ tự:

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

bạn có thể dán json của chuỗi ký tự 'ArrayCollection' vào câu hỏi không? –

Trả lời

43

Hah! Tìm thấy những gì tôi đã làm sai :) Tôi đã cho phương pháp deserialize sai loại. Phải là:

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

và nó đã cho tôi nhiều mảng thực thể.

+0

Bạn tìm thấy giải pháp này ở đâu? – tolgap

+2

chỉ bằng thử nghiệm. Không tìm thấy tài liệu nào nhưng có vẻ như phương pháp deserialize có thể lấy làm đối số kiểu giống như chuỗi được định nghĩa cho ví dụ ở đây: [loại] (http://jmsyst.com/bundles/JMSSerializerBundle/master/reference/annotations#type) – mrMantir

+0

chỉ là những gì tôi đang được tìm kiếm. cảm ơn vì đã tìm ra giải pháp! – Casey

Các vấn đề liên quan