Finder
Finder

Reputation: 8741

QVariantMap Json Parsing in QT

I am using the following code for parsing:

QJson::Parser parser;
bool ok;
QVariantMap result=parser.parse (cityReply->readAll(),&ok).toMap();
if (!ok)
{
    qFatal("An error occurred during parsing");
    exit (1);
}

foreach (QVariant city, result.toList())
{
    QVariantMap names = city.toMap();
    qDebug() << "\t-" << names["name"].toString();
}

My json String is [{"id":2,"name":"AAA"},{"id":1,"name":"BBB"}].

I got the following error:

'class QVariantMap' has no member named 'toList'.

is it possible to convert the QMap to QList?

Upvotes: 3

Views: 4488

Answers (1)

Patrice Bernassola
Patrice Bernassola

Reputation: 14446

result contain a serialized array as QVariant. You need to extract it before calling the toList() function. Since array is not named in Json string, you can access it by getting the first QVariant in the map and the doing what you have written in the question.

Upvotes: 3

Related Questions