tags:

views:

61

answers:

1

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*strong text*

Please help me. Thanks in advacne.

+2  A: 

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.

Patrice Bernassola
sorry.. could you please explain little bit more.
Girija
Regarding the Json string, the QVariantMap only contains one element: the array. Just get it using the QMap function and then convert it to a list
Patrice Bernassola