1

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

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

但即使这个实体上有一个对象,序列化程序也会像这样输出它:

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

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

O:8:"stdClass":2:{s:4:"name";s:8:"Greacja2";s:10:"price_from";s:4:"2000";}

4

2 回答 2

0

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

于 2013-07-02T12:33:12.177 回答
0

它是 jms 序列化程序的一个众所周知的错误。您可以将数据作为数组存储在数据库中,然后作为数组序列化。

于 2013-07-02T11:07:59.867 回答