Symfony在序列化期间跳过空值

问题描述 投票:1回答:1

我试图序列化一个对象并跳过空值这是我尝试序列化的对象:

{
  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组件实现这一目标?

php symfony serialization
1个回答
0
投票

您可以考虑使用JMSSerializerBundle而不是Symfony序列化程序

它易于使用。您可以将空值序列化为空字符串

$context = new SerializationContext();
$context->setSerializeNull(true);
$objectData = $serializer->serialize($object, 'json', $context);
© www.soinside.com 2019 - 2024. All rights reserved.