QJson应用
来源:互联网 发布:mssql 不允许保存更改 编辑:程序博客网 时间:2024/05/21 10:38
在使用前,需要配置使用环境。
1、在本地编译出QJson的dll(见前一篇文章)。
2、在.pro文件中加入如下代码:
INCLUDEPATH += d:/Qt/2010.05/lib/qjson/include
LIBS += -Ld:/Qt/2010.05/lib/qjson/lib -lqjson
环境就配好了。
接下来是在代码中使用定义的类,简而言之,几个步骤:
1、定义Parser:
QJson::Parser*parser=newQJson::Parser();
2、转化字符串query为Qvariant
bool ok;//返回结果是否转化成功
QString query = "XXX";//待转化字符串
QVariant result = parser->parse(query.toAscii(),&ok);
3、获取值,如果是数组(用“[]”括起来的),则用toList转化到QVariantList或QList<QVariant>,如果是类(用"{}"括起来的),则用toMap()转化到QVariantMap或QMap<QString,QVariant>,基本变量值可以用toString(), toInt()等方法获得。此外,在头文件中,还见到了Hash的定义:typedef QHash<QString,QVariant> QVariantHash;以后再慢慢尝试。
有了上面的方法,就可以分析Json中的数据了。还算挺好用的。
-------------------------------------------------------------------
附上两段测试代码
*************************************************
QString query = "{\"dxydata\":{\"class\":\"Data\",\"id\":null,\"sex\":\"male\",\"name\":\"dxy\",\"age\":13},\"test\":\"123\"}";QVariant result = parser->parse(query.toAscii(), &ok);QVariantMap mymap = result.toMap();QVariantMap datamap = mymap["dxydata"].toMap();qDebug() << datamap["class"].toString() << datamap["sex"].toString();qDebug() << mymap["test"].toInt();
-------------------------------------------------------------------
QString query = "[{\"rid\":\"102432\", \"pid\":\"1000\", \"username\":\"dxy\"}, {\"rid\":\"000\", \"pid\":\"10200\", \"username\":\"dxy2\"}]";QVariantList mylist = result.toList();foreach (QVariant plugin, mylist) { QVariantMap mymap = plugin.toMap(); qDebug() << "[" << mymap["rid"].toString() << mymap["pid"].toString() << mymap["username"].toString() << "]";}
- QJson应用
- QJson编译
- QJson 使用
- QJson编译
- qjson编译
- QJson使用
- 关于QJson的安装
- qjson编译方法
- 关于QJson的安装
- QJson的使用
- QJSON的编译方法
- 使用 QJson 处理 JSON
- QJSON的编译方法
- Qt4 使用QJson库
- QJSon的编译
- QtCreator-----导入QJson库
- Qt-----使用QJson库
- qjson解析和构建
- inclued 和 jsp:inclued的区别
- Oracle checkpoint详解
- mysql安装时候Apply security setting error问题
- hdu Find a way to escape (几何)
- google gperf-tools使用记录
- QJson应用
- [二分]NOIP2011 day2 T2 聪明的质检员
- Dynamics CRM 2011编程系列(42):Plugin的单元测试(Rhino Mocks)
- Arrays.java
- mysql查询当天信息
- hadoop lzo并行map
- Android 开发即时聊天工具 YQ :(五) 发送消息
- 励志故事2
- 想你,但不爱你