我有一个用标准函数反序列化的类:
template<class Archive> // public serialization (normal)
void serialize(Archive & ar)
{
ar(
cereal::make_nvp("parameter_1", parameter_1),
cereal::make_nvp("parameter_2", parameter_2),
cereal::make_nvp("parameter_3", parameter_3),
cereal::make_nvp("parameter_4", parameter_4),
cereal::make_nvp("parameter_5", parameter_5) );
}
但就我而言parameter_4
,并且parameter_5
是可选的。
它们可能在也可能不在输入 JSON 字符串中。
当我试图反序列化这种缺少一些参数的不完整 JSON 时,我得到 Cereal“错误”——找不到那些缺少的参数。
有什么方法可以指定某些参数是可选的,并且在它们不属于 JSON 默认值的情况下将被使用?