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
| QString PackWithUuid(const QJsonObject& obj) { if (obj.isEmpty()) return QString(); obj["uuid"] = "uuid"; QJsonDocument doc(obj); return doc.toJson(QJsonDocument::Compact); }
QString PackJson(const QString& text) { QJsonObject obj; QJsonObject htmlObj; htmlObj["text"] = text; QJsonArray array; for (int i=0; i<5; ++i) { array.append(i); } htmlObj["array"] = array; obj["html"] = htmlObj; return PackWithUuid(obj); }
bool ParseJson(const QByteArray& json, QString& text) { QJsonParseError jsonError; QJsonDocument doc = QJsonDocument::fromJson(json, &jsonError); if (jsonError.error != QJsonParseError::NoError) { return false; } if (doc.isObject()) { QJsonObject obj = doc.object(); if (obj.contains("html")) { if (obj["html"].isObject()) { QJsonObject htmlObj = obj["html"].toObject(); if (htmlObj.contains("text")) { if (htmlObj["text"].isString()) text = htmlObj["text"].toString(); } if (htmlObj.contains("array")) { if (htmlObj["array"].isArray()) { QJsonArray array = htmlObj["array"].toArray(); } } } } } return true; }
|