【问题标题】:How do I deserialize a Doctrine object with JMSSerializerBundle?如何使用 JMSSerializerBundle 反序列化 Doctrine 对象?
【发布时间】:2012-06-22 17:28:18
【问题描述】:

我正在使用 Doctrine-ODM,我正在尝试(反)序列化 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,但我不知道该怎么做。

如何解决这个问题并将我的字符串正确反序列化为对象?

【问题讨论】:

    标签: mongodb symfony doctrine doctrine-odm


    【解决方案1】:

    My\Bundle\Repository\Item中,你需要定义一个id属性,并用the @Type annotation装饰它。

    【讨论】:

    • 非常感谢 :) 我们决定另辟蹊径,但这在当时很有帮助 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多