QJson第三方JSON处理库

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
    11
    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):

    1
    2
    3
    4
    5
    6
    7
    8
    bool ok;
    QJson::Parser parser;
    QVariant result = parser.parse("{\"key\" : \"value\"}", &ok);
    if (!ok) {
    qDebug() << "Error: Data parse error!";
    return false;
    }
    qDebug() << result.toMap();

关于更多