qt解析json(使用第三方库)

http://blog.sina.com.cn/s/blog_6d0730c701012arj.html


我使用的是Qjson库 是qt指定用的开源库 不错哈
1.先编译库,生成.a文件(编译用)和.dll(运行用)
2.将.a文件放到qt根目录的lib目录下,将库里的include目录拷贝到qt根目录的QtJson(新建的)目录下面
3.在你的程序的pro文件中指定
INCLUDEPATH += . PATH(qt根目录)/include/QtJson
LIBS += -L PATH(qt根目录)/lib -lqjson
4.在你的程序中加上头文件
#include
#include
5.创建类对象
QJson::Parser parser;
6.将QVariantList转换为Json数据
QVariantList list;
QJson::Serializer serializer;
QByteArray array = serializer.serialize(list);
7.实例 #include #include #include #include int main(int argc, char *argv[]) { 


QApplication app(argc, argv); QJson::Parser parser; bool ok; QString json = "{"encoding":"UTF-8", "plug-ins":["python","c+


+","ruby"], "indent":{ "length":3, "use_space":true }}"; QVariantMap result = parser.parse(json.toAscii(), &ok).toMap(); if (!ok) { 


qDebug("An error occurred during parsing"); return 0; } qDebug() << "encoding:" << result["encoding"].toString(); qDebug() << 


"plugins:"; foreach (QVariant plugin, result["plug-ins"].toList()) qDebug() << "t-" << plugin.toString(); QVariantMap nestedMap = 


result["indent"].toMap(); qDebug() << "length:" << nestedMap["length"].toInt(); qDebug() << "use_space:" << nestedMap


["use_space"].toBool(); return app.exec(); }

你可能感兴趣的:(qt解析json(使用第三方库))