- QXmlStreamReader xml(bytes);
- xml.readNextStartElement();
- if (xml.name() == QLatin1String("entry"))
- while(xml.readNextStartElement()) {
- const QStringRef n = xml.name();
- if (n == QLatin1String("summary"))
- description = xml.readElementText().simplified();
- else if (n == QLatin1String("title"))
- displayName = xml.readElementText();
- else if (n == QLatin1String("thumbnail")) {
- thumbnailUrl = xml.attributes().value("url").toString();
- xml.skipCurrentElement();
- } else if (n == QLatin1String("username"))
- userName = xml.readElementText();
- else xml.skipCurrentElement();
- }
-
- if (xml.hasError()) {
- emit error(xml.errorString());
- qWarning() << xml.errorString();
+ QJsonDocument doc = QJsonDocument::fromJson(bytes);
+ QJsonObject obj = doc.object();
+ const QJsonArray items = obj["items"].toArray();
+ for (const QJsonValue &v : items) {
+ QJsonObject item = v.toObject();
+ QJsonObject snippet = item["snippet"].toObject();
+ displayName = snippet["title"].toString();
+ description = snippet["description"].toString();
+ QJsonObject thumbnails = snippet["thumbnails"].toObject();
+ thumbnailUrl = thumbnails["medium"].toObject()["url"].toString();
+ qDebug() << displayName << description << thumbnailUrl;