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 <parser.h>
#include <serializer.h>
5.创建类对象
QJson::Parser parser;
6.将QVariantList转换为Json数据
QVariantList list;
QJson::Serializer serializer;
QByteArray array = serializer.serialize(list);
7.实例 #include <QApplication> #include <QVariant> #include <QDebug> #include <parser.h> 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(); }