2012-06-20 16 views
2

我正在使用Doctrine-ODM,我試圖(在)Symfony中序列化文檔對象。如何使用JMSSerializerBundle反序列化Doctrine對象?

序列化似乎工作,但是當我嘗試反序列化,我得到以下錯誤:

You must define a type for My\Bundle\Repository\Item::$id.

我嘗試使用該調用反序列化:

$object = $serializer->deserialize($serializedItem, 'My\Bundle\Repository\Item', 'json'); 

我的文檔有幾個嵌入式文件,但他們似乎沒有問題在序列化的字符串。它缺少有關文檔類型的信息。這裏輸出的一個簡單的例子:

{ 
    id: "itemID", 
    - embededDocument: { 
     id: "embeddedDocumentID", 
     moreInformation: true 
    } 
} 

現在我已閱讀並usage instructions我認爲我的解決方案進行了說明in the metadata for third party cookbook,但我想不出該怎麼辦。

如何解決這個問題並將我的字符串反序列化爲對象?

回答

1

My\Bundle\Repository\Item中,您需要定義一個id屬性,並用the @Type annotation對其進行裝飾。

+0

非常感謝:)我們決定採取另一種方式,但這有助於當時的很多:) – Senad