3

我正在使用以下代码进行解析:

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();
}

我的 json 字符串是[{"id":2,"name":"AAA"},{"id":1,"name":"BBB"}].

我收到以下错误:

'class QVariantMap' 没有名为 'toList' 的成员。

是否可以将 QMap 转换为 QList?

4

1 回答 1

3

result包含一个序列化数组作为QVariant. 您需要在调用toList()函数之前将其提取出来。由于数组未在 Json 字符串中命名,因此您可以通过获取QVariant地图中的第一个并执行您在问题中所写的操作来访问它。

于 2010-09-15T16:10:43.273 回答