#ifndef JSONPARSER_H #define JSONPARSER_H #include class QJsonObject; class QString; class QByteArray; class QJsonArray; typedef QMap ModelItemValues; class bidding; using namespace std; class JsonParser { public: static QList toItemValuesList(const QByteArray& jsonData, const QString& rootValueName = ""); static QByteArray itemValuesListToJson(const QList& itemValuesList, const QString& objectName = ""); static QByteArray toJsonDoc(const QHash& Values, const QString& objectName = ""); static ModelItemValues serverUserCredentialsToItemValues(const QJsonDocument& jsonDoc); static QList extractBiddings(const QJsonDocument& jsonDoc); // static ModelItemValues parseServerResponse(const QJsonDocument& jsonDoc, // QHash entries); // static ModelItemValues parseServerResponse(const QJsonObject& object, // QHash entries); static QJsonArray extractItemArray(const QJsonDocument& doc, const QString& objectName); static ModelItemValues jsonObjectToItemValues(const QJsonObject& itemJsonObject); private: explicit JsonParser(); static pair getKeyValuePair(const QJsonObject& itemJsonObject, const int role); }; #endif // JSONPARSER_H