diff --git a/modules/parking/src/parkendd.cc b/modules/parking/src/parkendd.cc index 2ec625bac..c121c63c9 100644 --- a/modules/parking/src/parkendd.cc +++ b/modules/parking/src/parkendd.cc @@ -49,7 +49,17 @@ std::vector parse(std::string const& json) { utl::verify(doc.IsObject(), "no root object"); auto const& lots = get_array(doc, "lots"); - return utl::to_vec(lots, [](auto const& lot) { return parse_lot(lot); }); + + std::vector result; + result.reserve(lots.Size()); + for (auto const& lot : lots) { + try { + result.push_back(parse_lot(lot)); + } catch (...) { + continue; + } + } + return result; } parking_lot to_parking_lot(api_parking_lot const& apl) {