JMSSerializer @MaxDeepth
和@Groups
中有很好的注释。他们为什么不进行反序列化,但只为序列化工作?我如何启用它们进行去除化疗?
jmmserializer的来源显示排除策略不会被忽略,它们只等于null。
答案 0 :(得分:1)
好的我已经有了解决方案,这很容易=)实际上我对FOSRestBundle的@View(serializerGroups={"a","b"}
感到困惑,但实际上它们用于序列化而不是反序列化。因此,解决方案只是向序列化器发送带有正确选项的常规上下文:
$context = new DeserializationContext();
$context->setGroups(['a', 'b']);
$context->enableMaxDepthChecks(); // if you wish
$serializer->deserialize($content, $classname, 'json', $context);