使用实体上的JMSSerializerBundle序列化对象属性

时间:2013-07-02 09:15:43

标签: json symfony doctrine jmsserializerbundle

当我使用jmsserializerbundle序列化我的对象时,我得到了正确的JSON对象,但是一个属性是空的(它的对象类型),这个属性的定义如下所示:

/**
 * @var stdObject
 *
 * @ORM\Column(name="searchQueryParams", type="object")
 * @Expose
 * @Type("stdClass")
 */
private $searchQueryParams;

/** * @var stdObject * * @ORM\Column(name="searchQueryParams", type="object") * @Expose * @Type("stdClass") */ private $searchQueryParams;

但是即使这个实体上有一个对象,串行器就会像这样输出:

只是一个空对象,不是真的。这是DB中searchQueryParams的值:

{ "id": 10, "search_query_params": {}, "created": "2013-07-02T10:31:02+0200" },

2 个答案:

答案 0 :(得分:0)

它是一个众所周知的bug jms序列化程序。您可以将数据作为数组存储在数据库中,稍后将其作为数组进行序列化。

答案 1 :(得分:0)

将@Type更改为“Array”似乎有效。