У меня есть класс, который десериализован стандартной функцией:
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, будут использоваться?