6

以下のような構造の単純なオブジェクトがあるとします。

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"
}

これは可能ですか?もしそうなら、どのように?

4

2 に答える 2

8

これには注釈があることがわかりました。それは@Inline注釈です:

use JMS\Serializer\Annotation\Inline;

// ...

/**
 * @var array
 *
 * @Inline
 */
protected $variables;
于 2014-09-10T13:34:21.033 に答える