std::vector<Vector<dim>> deserializeVectors(const nlohmann::json &data) { std::vector<Vector<dim>> vectors; if (data.empty()) return vectors; if (data["Dimension"].get<unsigned int>() != dim) { Logging::error("Data has wrong dimension", "JsonSerializer"); return vectors; } std::vector<std::vector<double>> stdVectors = data["data"].get<std::vector<std::vector<double>>>(); size_t size = data["NumberConfigurations"].get<size_t>(); if (stdVectors.size() != size) { Logging::error("Wrong vector size of file", "JsonSerializer"); return vectors; } for (const auto &vec : stdVectors) { Vector<dim> eigenVec; for (unsigned int j = 0; j < dim; ++j) eigenVec[j] = vec[j]; vectors.push_back(eigenVec); } return vectors; }