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