【发布时间】:2017-05-26 02:35:35
【问题描述】:
具有以下 PHP 类
class SampleObject
{
private $map;
private $array;
public function getMap(): array
{
return $map;
}
public function setMap(array $map)
{
$this->map = $map;
}
public function getArray(): array
{
return $this->array;
}
public function setArray(array $array) {
$this->array = $array;
}
}
还有两个实例:
$inst1 = new SampleObject();
$inst2 = new SampleObject();
$inst1->setMap(['key' => 'value']);
$inst1->setArray([1]);
$inst2->setMap([]);
$inst2->setArray([]);
当它们用JMS Serializer序列化为json时,第一个变成:
{"map": {"key": "value"}, "array": [1]}
第二个:
{"map": [], "array": []}
如何强制序列化器将第二个对象序列化为{"map": {}, "array": []}?
【问题讨论】:
-
如果我理解正确,您可以覆盖数组的默认处理程序:jmsyst.com/libs/serializer/master/handlers
标签: php symfony serialization jmsserializerbundle jms-serializer