想象一下,我有一个简单的对象,结构类似于下面的对象:
Object (SomeClass) {
$someOtherData (array) [
...
]
$data (array) [
"key": "value",
"key": "value",
"key": "value",
"key": "value"
]
}
如果我使用JMS Serializer将此对象序列化为JSON,我会得到一个结构相同的结果,但是根元素上有$ data,如下所示:
{
"someOtherData": {
...
},
"data": {
"key": "value",
"key": "value",
"key": "value",
"key": "value"
}
}
我需要将$ data变量的内容放在序列化结果的根上,即:
{
"someOtherData": {
...
},
"key": "value",
"key": "value",
"key": "value",
"key": "value"
}
这可能吗?如果是这样,怎么样?
答案 0 :(得分:7)
原来有一个注释。这是@Inline
注释:
use JMS\Serializer\Annotation\Inline;
// ...
/**
* @var array
*
* @Inline
*/
protected $variables;
答案 1 :(得分:0)
我认为最好的方法是使用SerializationHandler。在这里您可以找到一些文档:http://jmsyst.com/libs/serializer/master/handlers。