QJson使用

准备QJson  
      1. 将release文件夹里面的libQJSon.a放到<Qt dir>\lib 目录中。如D:\Qt\Desktop\Qt\4.8.1\lib 
   2. 在release文件夹里面找到QJSon.dll文件,将它放到<Qt dir>\bin目录中
   3. 创建一个名为QJSon的文件夹,然后将之前的代码目录中的所有头文件(*.h和*.hh)都拷贝到新创建的QJSon的文件夹中, 
   将QJson文件夹放到D:\Qt\Desktop\Qt\4.8.1\include目录中

 
 使用QJson
   1.设置pro文件 
        LIBS     += -lqjson1.
   2.引入头文件 

        #include <qjson/parser.h>

-----------------------------------------------------

   通过网址获取json

  

  1. QString QJsonParser::getHtml(QString url)  
  2. {  
  3.     QNetworkAccessManager *manager = new QNetworkAccessManager();  
  4.     QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));  
  5.     QByteArray responseData;  
  6.     QEventLoop eventLoop;  
  7.     QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));  
  8.     eventLoop.exec();       //block until finish  
  9.     responseData = reply->readAll();  
  10.     return QString(responseData);  
  11. }  
 将json数据进行解析

  1. void QJsonParser::parseAttribute()  
  2. {  
  3.     QJson::Parser parser;  
  4.     bool ok;  
  5.     QString query = getHtml( m_url );  
  6.     QVariantMap result = parser.parse(query.toAscii(), &ok).toMap();  
  7.     QVariantMap::iterator it = result.begin();  
  8.     if(ok)  
  9.     {  
  10.         for(; it != result.end(); ++it)  
  11.         {  
  12.             QVariantMap sub = it.value().toMap();  
  13.             QVariantMap::iterator subit = sub.begin();  
  14.             m_appEntity = new AppEntity;  
  15.             m_appEntity->m_appid = it.key()+"|"+subit.value().toString();  
  16.             ++subit;  
  17.             m_appEntity->m_appimg = subit.value().toString();  
  18.             ++subit;  
  19.             m_appEntity->m_appname = subit.value().toString();  
  20.             ++subit;  
  21.             m_appEntity->m_appurl = subit.value().toString();  
  22.             m_appEntityList.append(m_appEntity);  
  23.         }  
  24.   
  25.     }  
  26.     else  
  27.         qDebug()<<"error occuring";  
  28. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值