QScript 解析json

来源:互联网 发布:交换机端口流量监控 编辑:程序博客网 时间:2024/06/16 08:04
  1. #include <QtGui/QApplication>  
  2. #include <QtCore/QString>  
  3. #include <QtCore/QStringList>  
  4. #include <QtScript/QScriptEngine>  
  5. #include <QtScript/QScriptValue>  
  6. #include <QtScript/QScriptValueIterator>  
  7. #include <QtCore/QtDebug>  
  8.   
  9. int main(int argc, char *argv[])  
  10. {  
  11.     QApplication app(argc, argv);  
  12.   
  13.     QString strJson = "{\"department\":\"computer science\", \"person number\":\"45\", \"student\":[{\"Name\":\"ccf\",\"Math\":\"95\", \"Chinese\":\"84\"}, {\"Name\":\"zhangsan\",\"Math\":\"75\", \"Chinese\":\"70\"}]}";  
  14.     QScriptEngine engine;  
  15.     QScriptValue sc =  engine.evaluate("value=" + strJson);  
  16.     qDebug() << "department:" << sc.property("department").toString();//解析字段  
  17.     if (sc.property("student").isArray())   //解析数组  
  18.     {  
  19.         QScriptValueIterator it(sc.property("student"));  
  20.         while(it.hasNext())  
  21.         {  
  22.             it.next();  
  23.             if (!it.value().property("Name").toString().isEmpty())  
  24.             {  
  25.                 qDebug() << "Name :" << it.value().property("Name").toString();  
  26.                 qDebug() << "Math :" << it.value().property("Math").toString();  
  27.                 qDebug() << "Chinese :" << it.value().property("Chinese").toString();  
  28.             }  
  29.         }  
  30.     }  
  31.   
  32.     return app.exec();  

0 0
原创粉丝点击