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