-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjsonhelper.h
73 lines (63 loc) · 2.24 KB
/
jsonhelper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef JSONHELPER_H
#define JSONHELPER_H
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonValue>
#include <QString>
#include <QVariantMap>
class JsonHelper {
public:
// JSON string'ini parse ederek bir QJsonObject döndürür
static QJsonObject parseJson(const QString& jsonString) {
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (jsonDoc.isObject()) {
return jsonDoc.object();
} else {
return QJsonObject(); // Boş obje döner
}
}
// QJsonObject'ten JSON string'i oluşturur
static QString toJsonString(const QJsonObject& jsonObject) {
QJsonDocument jsonDoc(jsonObject);
return jsonDoc.toJson(QJsonDocument::Compact);
}
// Bir QVariantMap'ten QJsonObject oluşturur
static QJsonObject mapToJsonObject(const QVariantMap& map) {
return QJsonObject::fromVariantMap(map);
}
// QJsonObject'i QVariantMap'e çevirir
static QVariantMap jsonObjectToMap(const QJsonObject& jsonObject) {
return jsonObject.toVariantMap();
}
// QJsonObject'ten bir key'e karşılık gelen değeri döner
static QJsonValue getValueFromJson(const QJsonObject& jsonObject, const QString& key) {
if (jsonObject.contains(key)) {
return jsonObject.value(key);
} else {
return QJsonValue();
}
}
// JSON string'i içerisinden belirli bir key'in değerini döner
static QJsonValue getValueFromJsonString(const QString& jsonString, const QString& key) {
QJsonObject jsonObject = parseJson(jsonString);
return getValueFromJson(jsonObject, key);
}
// QJsonArray oluşturma
static QJsonArray createJsonArray(const QList<QVariant>& list) {
QJsonArray jsonArray;
for (const QVariant& item : list) {
jsonArray.append(QJsonValue::fromVariant(item));
}
return jsonArray;
}
// QJsonArray'den QVariantList oluşturma
static QList<QVariant> jsonArrayToList(const QJsonArray& jsonArray) {
QList<QVariant> list;
for (const QJsonValue& value : jsonArray) {
list.append(value.toVariant());
}
return list;
}
};
#endif // JSONHELPER_H