Symfony在序列化期间跳过空值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony在序列化期间跳过空值相关的知识,希望对你有一定的参考价值。
我试图序列化一个对象并跳过空值这是我尝试序列化的对象:
{
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);
以上是关于Symfony在序列化期间跳过空值的主要内容,如果未能解决你的问题,请参考以下文章