Можно ли сериализовать массив в корень объекта с помощью сериализатора JMS?
Представьте, что у меня есть простой объект, структурированный аналогично приведенному ниже:
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"
}
Возможно ли это? Если да, то как?
6
2 answers
Оказывается, для этого есть аннотация. Это @Inline
аннотация:
use JMS\Serializer\Annotation\Inline;
// ...
/**
* @var array
*
* @Inline
*/
protected $variables;
7
Author: Seer, 2014-09-10 13:34:21
Я думаю, что лучший метод - это использование обработчика сериализации. Здесь вы можете найти немного документации: http://jmsyst.com/libs/serializer/master/handlers .
0
Author: skler, 2014-09-10 12:03:25