1
QJson是基于Qt的库,可将JSON数据映射到QVariant对象。JSON数组将映射到QVariantList实例,而JSON对象将映射到QVariantMap

  JSON(JavaScript对象表示法)一种轻量级的数据交换格式。它可以表示整数,实数,字符串,值的有序序列以及名称/值对的集合。

  QJson库建议用于Qt4版本下,Qt5版本以上建议使用Qt自带的json库。

编译要求

  • Qt 4.5版本以上。
  • CMake 2.6版本以上。

示例

  • 序列化(将QMap转为QByteArray字节串):
QVariantMap 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):
bool 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


Qt君
39 声望22 粉丝

下一篇 »
Qt C++11支持