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"}]です。

次のエラーが発生しました:

「classQVariantMap」には「toList」という名前のメンバーがありません。

QMapをQListに変換することは可能ですか?

4

1 に答える 1

3

resultシリアル化された配列をとして含みますQVariant。関数を呼び出す前にそれを抽出する必要がありtoList()ます。配列はJson文字列で名前が付けられていないためQVariant、マップの最初の配列を取得し、質問に書き込んだことを実行することで、配列にアクセスできます。

于 2010-09-15T16:10:43.273 に答える