QT-JSON相关API/QJsonDocument/QJsonObject

QJsonObject类的相关操作

格式化排版

下面的代码将一个符合JSON格式的字符串,格式化成具有缩进格式排版的字符串,代码如下

cpp 复制代码
#include <QJsonDocument>
#include <QDebug>

int main(int argc, char *argv[])
{
    QJsonDocument doc = QJsonDocument::fromJson("{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}");
    QString str=doc.toJson();
    qDebug()<<str;
    return 0;
}

创建JSON对象,使用字符串

下面的代码使用一个JSON格式的字符串创建了一个JSON对象

cpp 复制代码
int main(int argc, char *argv[])
{
    QByteArray jsonStr="{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}";
    QJsonDocument doc = QJsonDocument::fromJson(jsonStr);
    QJsonObject resultObjet=doc.object();
    return 0;
}

创建JSON对象,使用标准JSON对象

下面的代码创建了一个JSON对象

cpp 复制代码
#include <QJsonObject>

int main(int argc, char *argv[])
{
    QJsonObject jsonObj;
    jsonObj.insert("descript","我爱武汉的妹子");
    jsonObj.insert("mark","最好是汉阳区的");
    return 0;
}

获取JSON对象中的值,非数组

下面的代码创建了一个JSON对象,并且打印出我爱武汉的妹子

cpp 复制代码
int main(int argc, char *argv[])
{
    QJsonObject jsonObj;
    jsonObj.insert("descript","我爱武汉的妹子");
    jsonObj.insert("mark","最好是汉阳区的");

    QJsonValue value=jsonObj.value("descript");
    QString strValue=value.toString();
    qDebug()<<strValue;
    // 或者如下
    qDebug()<<jsonObj["descript"].toString();
    return 0;
}

获取JSON对象中的值,数组

下面的代码创建了一个包含JSON数组的对象,并且循环打印出武汉汉阳区马鹦路

cpp 复制代码
int main(int argc, char *argv[])
{
    QJsonObject jsonObj;
    jsonObj.insert("city","武汉");
    QJsonArray array;
    array.append("武汉");
    array.append("汉阳区");
    array.append("马鹦路");
    jsonObj.insert("locations",array);

    QJsonArray locations=jsonObj.value("locations").toArray();
    // 打印每个数组元素的值
    for (const auto& element : locations) {
        qDebug() << element.toString();
    }
    // 或者如下
    qDebug()<<locations.at(0).toString();
    qDebug()<<locations.at(1).toString();
    qDebug()<<locations.at(2).toString();
    return 0;
}
相关推荐
笨笨马甲2 小时前
Qt Quick模块功能及架构
开发语言·qt
姜君竹3 小时前
QT的工程文件.pro文件
开发语言·c++·qt·系统架构
奇树谦4 小时前
使用VTK还是OpenGL集成到qt程序里哪个好?
开发语言·qt
AAA废品回收站陈师傅6 小时前
68常用控件_QGroupBox的使用
qt
明月醉窗台6 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
沉到海底去吧Go7 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
奥修的灵魂10 小时前
QT进阶之路:带命名空间的自定义控件在Qt设计器与qss中的使用技巧
qt·命名空间
笨笨马甲15 小时前
附加模块--Qt OpenGL模块功能及架构
开发语言·qt
uyeonashi18 小时前
【QT控件】输入类控件详解
开发语言·c++·qt
galaxy_strive1 天前
绘制饼图详细过程
开发语言·c++·qt