关于QT5使用QtScript解析QJsonArray数组的问题
Posted Booye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于QT5使用QtScript解析QJsonArray数组的问题相关的知识,希望对你有一定的参考价值。
首先得在pro文件中加入QT+=script
然后导入相应的头文件
include <QStringList> #include <QtScript/QScriptEngine> #include <QtScript/QScriptValue> #include <QtScript/QScriptValueIterator>
接下来便可使用相应的API了
示例代码:
QString strJson = "{ \"student\":[{\"Name\":\"ccf\",\"Math\":\"95\", \"Chinese\":\"84\"}, {\"Name\":\"zhangsan\",\"Math\":\"75\", \"Chinese\":\"70\"}]}"; QScriptEngine engine; QScriptValue sc = engine.evaluate("value=" + strResult); if (sc.property("dan").isArray()) //解析json数组 { QScriptValueIterator it(sc.property("dan")); while(it.hasNext()) { it.next(); if (!it.value().property("type").toString().isEmpty()) { qDebug() << "type :" << it.value().property("type").toString(); qDebug() << "data :" << it.value().property("data").toString(); receMsg = it.value().property("data").toString(); qDebug() << "user :" << it.value().property("use").toString(); QDesktopWidget* desktopWidget; //获取桌面设备 QRect screenRect; desktopWidget = QApplication::desktop(); //获取桌面设备 screenRect = desktopWidget->screenGeometry(); //获取桌面大小的矩形 Danmu * danmu = new Danmu(NULL,receMsg,"Red",1,screenRect); qDebug()<<"x"<<danmu->getPosX()<<" y"<<danmu->getPosY(); } } }
以上是关于关于QT5使用QtScript解析QJsonArray数组的问题的主要内容,如果未能解决你的问题,请参考以下文章
QtScript, QML, Quick1, Quick2, Declarative 之间的关系
QT5 关于object基类实现的多线程操作,movetothread方法的使用