Qt中解析Json的总结
来源:互联网 发布:外国人评论中国淘宝 编辑:程序博客网 时间:2024/06/04 19:48
项目中用到要解析json格式的数据。特地总结了一下Qt中解析json的方法如下:
1、使用Qt中QScript类函数自己解析。(工作量太大)
请参考文章:http://blog.chinaunix.net/uid-20737871-id-1881233.html
http://blog.csdn.net/darkdong/article/details/6092822
2、使用最新版的Qt5版本,Qt5以上版本添加好多关于JavaScript的内容,其中就有关于解析json格式数据的函数。
此方法简单,但因为楼主用的是Qt4.8版本,同时对于Qt5新版本的稳定性不太确定,所以也没用。等到Qt5稳定后可以考虑。
部分代码如下:
void MainWindow::replyFinished(QNetworkReply* replay){ if(replay->error() == QNetworkReply::NoError) { QByteArray data = replay->readAll(); QJsonParseError jsonError;//Qt5新类 QJsonDocument json = QJsonDocument::fromJson(data, &jsonError);//Qt5新类 if(jsonError.error == QJsonParseError::NoError)//Qt5新类 { if(json.isObject()) { QJsonObject obj = json.object();//Qt5新类 if(obj.contains("weatherinfo")) { if(obj["weatherinfo"].isObject()) { QJsonObject weatherObj = obj["weatherinfo"].toObject(); weatherMap = weatherObj.toVariantMap(); //qDebug() << weatherMap; showWeather(); return; } } } } }}
3、使用外部库QJson。
本篇着重介绍QJson的使用方法,网上的一些使用方法不全面,光是QJson编译就让人抓狂,楼主找到了一篇全面详细的介绍。
网址:http://hi.baidu.com/imtoby/item/02cc71572376ef0ce7c4a556#713670-baidu-1-26095-a19db458d50b3e9d45067067b6ce7d52
楼主整理了源代码文件,网址:http://download.csdn.net/detail/wangtaohappy/5434393
使用Qt 编译方法:
源代码文件是不包含的QJSon.pro工程文件的,因此我们可以手动创建一个QJSon.pro文件(可以新建txt文件将后缀改为.pro即可,使用txt文档打开QJSon.pro文件。
在文件中加入如下工程代码:
TEMPLATE = libTARGET = DEPENDPATH += .INCLUDEPATH += .include(./json.pri)LIBS += -lws2_32
启动QtCreator,打开上面的工程,即打开QJSon.pro后,将版本改为发布版本,请选择启动编译的“发布”选项:
设置完成之后,既可以选择“运行”。如果出现如下情况,点取消,不用管它。
运行完成,在release文件夹下,会有libqjson.a和QJson.dll文件,这两个就是要用到的最关键的文件。如下图
楼主也把他们打包放在链接:http://download.csdn.net/detail/wangtaohappy/5434393
可以直接下载下来用。(注意环境:win7下Qt Creator环境)
将release文件夹里面的libQJSon.a放到<Qt dir>\lib 目录中,例如本人将它放在了:D:\QtSDK\Desktop\Qt\4.8.1\lib 目录中,
再在release文件夹里面找到QJSon.dll文件,将它放到<Qt dir>\bin目录中,本人放在了:D:\QtSDK\Desktop\Qt\4.8.1\bin目录中。
接下来,创建一个名为QJSon的文件夹,然后将之前的代码目录中的所有头文件(*.h和*.hh)都拷贝到新创建的QJSon的文件夹中,将QJson文件夹放到
D:\QtSDK\Desktop\Qt\4.8.1\include目录中。
接下来,就是测试QJson的使用。这方面文章很多,可以自行搜索,
给出几个参考网址:http://www.developer.nokia.com/Community/Wiki/%E5%9C%A8Qt%E4%B8%AD%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87QJson_%E8%A7%A3%E6%9E%90json%E6%95%B0%E6%8D%AE
http://www.oschina.net/code/snippet_12_332?from=rss
http://blog.chinaunix.net/uid-12664992-id-129941.html
- Qt中解析Json的总结
- Qt中解析Json的总结
- Qt的json解析
- Android中解析JSON总结
- Qt中如何解析Json数据
- 解析json的一些总结
- 解析json的总结方法
- Qt中json的使用方法
- QT平台上的Json解析
- QT平台上的Json解析
- QT平台上的Json解析
- Qt JSON解析
- Qt 解析json
- QT解析JSON
- Qt之json解析
- Qt json解析
- QT Json解析方法
- Qt 解析Json
- Linux mmap学习及遇到的问题解决
- 类似于coc点击好友列表右侧显示的visit等功能按钮的view的处理方法
- SQL游标嵌套例子+游标嵌套存储过程
- relocation truncated to fit: R_MIPS_26 against
- uva10391 单词复合 利用二分查找求解
- Qt中解析Json的总结
- layoutit+Bootstrap html页面布局+CSS
- PE格式文件的代码注入
- Sudoku Solver
- php ob_start及其相关方法详解
- 实训
- Mat|CvMat|IplImage|Byte|之间的转换
- SCOI2013 Bless all
- 启动mysql