如何使用JMSSerializerBundle反序列化Doctrine对象?

时间:2012-06-20 14:33:15

标签: mongodb symfony doctrine doctrine-odm

我正在使用Doctrine-ODM,我正在尝试(de)序列化Symfony中的文档对象。

序列化似乎有效,但是当我尝试反序列化时,我收到以下错误:

  

您必须为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 个答案:

答案 0 :(得分:1)

My\Bundle\Repository\Item中,您需要定义id属性,并使用the @Type annotation进行装饰。