2

次のような単純なクラスがあります。

class Car
{
    public doors;
    public color;
    public seats;
}

新しいオブジェクトを次のようにシリアライズすると:

$this->get('jms_serializer')->serialize($newCar, 'json');

私は次のようなものを取得します:

{doors:1, color: 'red', seats: 4}

代わりにこれを使用できるかどうか疑問に思います(編集:同じ文字列を逆シリアル化できるようにする):

car:{doors:1, color: 'red', seats: 4}

ありがとう

4

1 に答える 1

1

これを試すことができます:

// Encode
$className = get_class($newCar);
$jmsSerialize = $this->get('jms_serializer')->serialize($newCar, 'json');
$resultJSONEncode = json_encode([$className=>$jmsSerialize]);
var_dump($resultJSONEncode);

// Decode
$resultJSONDecode = json_decode($resultJSONEncode, true);
$jmsDesrialize = $this->get('jms_serializer')->deserialize($resultJSONDecode[$className], $className, 'json');
var_dump($jmsDesrialize);
于 2016-06-16T15:09:17.463 に答える