QJson是基于Qt的库,可将JSON数据映射到QVariant对象。JSON数组将映射到QVariantList实例,而JSON对象将映射到QVariantMap。
JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。它可以表示整数,实数,字符串,值的有序序列以及名称/值对的集合。
QJson库建议用于Qt4版本下,Qt5版本以上建议使用Qt自带的json库。
编译要求
- Qt 4.5版本以上。
- CMake 2.6版本以上。
示例
序列化(将QMap转为QByteArray字节串):
1
2
3
4
5
6
7
8
9
10
11QVariantMap map;
map["key"] = "value";
bool ok;
QJson::Serializer serializer;
QByteArray result = serializer.serialize(map, &ok);
if (!ok) {
qDebug() << "Error: Data serialize error!";
return false;
}
qDebug() << result;反序列化(将字符串转QMap):
1
2
3
4
5
6
7
8bool ok;
QJson::Parser parser;
QVariant result = parser.parse("{\"key\" : \"value\"}", &ok);
if (!ok) {
qDebug() << "Error: Data parse error!";
return false;
}
qDebug() << result.toMap();
关于更多
- Qt君公众号回复『JSON』获取更多信息。
- 源码地址:
https://github.com/flavio/qjson