Added deserialization from JSON file

This commit is contained in:
2025-02-07 20:05:44 +02:00
parent f9c394e0d1
commit 6d9586ac6e
5 changed files with 51 additions and 3 deletions

View File

@ -0,0 +1,35 @@
#include "serialization.h"
#include <filesystem>
#include <QFile>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
UserList&& loadUserList(const QString &file)
{
QFile doc{std::filesystem::path{file.toStdString()}};
QString fileContents = doc.readAll();
QJsonDocument document = QJsonDocument::fromJson(fileContents.toUtf8());
QJsonArray array = document.array();
QVector<User> container;
for (auto elem: array)
{
auto obj = elem.toObject();
User newUser{obj["name"].toString(), QDate::fromString(obj["date_of_birth"].toString()),
QDate::fromString(obj["date_of_death"].toString()), obj["default"].toBool()};
container.append(newUser);
}
UserList returnObj;
returnObj.setList(container);
return std::move(returnObj);
}
void saveUserList(const UserList &list)
{
}