#include "subject.h" Subject::Subject(const QString &name) { setName(name); } bool Subject::fromJson(const QByteArray &data) { QJsonDocument doc = QJsonDocument::fromJson(data); QJsonObject attr = doc.object()["attributes"].toObject()["items"].toObject(); auto id = doc.object()["id"].toString(); for (const auto &key : attr.keys()) { auto newAtr = std::make_shared(); newAtr->setId(id + " " + key); newAtr->setSubjectId(id); newAtr->setAttributeKey(key); newAtr->setAttributeValue(attr.value(key).toString()); attributes.append(newAtr); } QVariantMap variant = qvariant_cast(doc.toVariant()); auto lastUpdate = variant["lastUpdate"].toLongLong(); variant["lastUpdate"] = QDateTime::fromMSecsSinceEpoch(lastUpdate); variant.insert("lastModified", QDateTime::fromMSecsSinceEpoch(lastUpdate)); // Populate this object data bool res = fromVariantMap(variant); return res; } QList > Subject::getAttributes() { return attributes; }