我试图序列化一个对象并跳过空值这是我尝试序列化的对象:
{
key1: null
key2: null
key3: {
keyA: null
keyB: 'value'
}
key4: 'value'
}
如果我使用以下方法:
$object = self::getInstance()->serialize($object, "json", ['skip_null_values' => true]);
该对象已成功序列化,但它只删除第一级的空键而不是key3
对象中的空键。
{
key3: {
keyA: null
keyB: 'value'
}
key4: 'value'
}
有没有办法使用Symfony Serializer组件实现这一目标?
您可以考虑使用JMSSerializerBundle而不是Symfony序列化程序
它易于使用。您可以将空值序列化为空字符串
$context = new SerializationContext();
$context->setSerializeNull(true);
$objectData = $serializer->serialize($object, 'json', $context);