سؤال

أنا أستخدم الكود التالي للحلية:

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"}].

حصلت على الخطأ التالي:

"فئة QVariantMap" ليس لديها عضو يدعى "Tolist".

هل من الممكن تحويل QMAP إلى Qlist؟

هل كانت مفيدة؟

المحلول

result تحتوي على صفيف تسلسلي كما QVariant. تحتاج إلى استخراجه قبل الاتصال toList() وظيفة. نظرًا لأن Array لم يتم تسميته في JSON String ، يمكنك الوصول إليها عن طريق الحصول على الأول QVariant في الخريطة والقيام بما كتبته في السؤال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top