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在序列化期间跳过空值的主要内容,如果未能解决你的问题,请参考以下文章

index跳过空值提取整行数据

我怎样才能让这个 Map 双函数忽略/跳过空值?

angularjs ng重复svg跳过空值的索引

ORACLE查询条件为空,则跳过该条件。

Excel 到 XML VBA - 需要跳过空标签

跳过空XML节点