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 回答