准备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.引入头文件
将json数据进行解析
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
- QString QJsonParser::getHtml(QString url)
- {
- QNetworkAccessManager *manager = new QNetworkAccessManager();
- QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
- QByteArray responseData;
- QEventLoop eventLoop;
- QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
- eventLoop.exec(); //block until finish
- responseData = reply->readAll();
- return QString(responseData);
- }
- void QJsonParser::parseAttribute()
- {
- QJson::Parser parser;
- bool ok;
- QString query = getHtml( m_url );
- QVariantMap result = parser.parse(query.toAscii(), &ok).toMap();
- QVariantMap::iterator it = result.begin();
- if(ok)
- {
- for(; it != result.end(); ++it)
- {
- QVariantMap sub = it.value().toMap();
- QVariantMap::iterator subit = sub.begin();
- m_appEntity = new AppEntity;
- m_appEntity->m_appid = it.key()+"|"+subit.value().toString();
- ++subit;
- m_appEntity->m_appimg = subit.value().toString();
- ++subit;
- m_appEntity->m_appname = subit.value().toString();
- ++subit;
- m_appEntity->m_appurl = subit.value().toString();
- m_appEntityList.append(m_appEntity);
- }
- }
- else
- qDebug()<<"error occuring";
- }