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