我使用以下代码进行解析:
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?
答案 0 :(得分:3)
result
包含序列化数组QVariant
。您需要在调用toList()
函数之前将其解压缩。由于数组未在Json字符串中命名,因此您可以通过获取地图中的第一个QVariant
并执行您在问题中所写的内容来访问它。