QVariantMap Json在QT中解析

时间:2010-09-15 11:00:49

标签: qt qt4 qjson

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

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?

1 个答案:

答案 0 :(得分:3)

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