Qt 创建一个json数组对象写入文档并从文档读出q

2024-09-05 19:28

本文主要是介绍Qt 创建一个json数组对象写入文档并从文档读出q,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

void createJsonArray()
{
    // 创建一个JSON数组
    QJsonArray jsonArray;

    // 创建一些JSON对象并添加到数组中
    for (int i = 0; i < 3; ++i) {
        QJsonObject jsonObject;
        jsonObject["key" + QString::number(i)] = "value" + QString::number(i);
        jsonArray.append(jsonObject);
    }

    // 将JSON数组转换为JSON文档并输出
    QJsonDocument jsonDoc(jsonArray);

    // QByteArray就是字符串类型
    QByteArray jsona = jsonDoc.toJson();

    // 把得到的json字符串写到磁盘文件中
    QString saveDefectPath = "D://result.json";
    qDebug() << __FUNCTION__ << __LINE__ << saveDefectPath;

    QFile file(saveDefectPath);
    file.open(QFile::WriteOnly);
    file.write(jsona);
    file.close();

    QFile open(saveDefectPath);
    file.open(QFile::ReadOnly);
    QByteArray all = file.readAll();

    // 把读出来的字符串转化成json的文档对象
    QJsonDocument doc = QJsonDocument::fromJson(all);

    if (doc.isArray()) {
        QJsonArray obj = doc.array();

        qDebug() << __FILE__ << __FUNCTION__ << __LINE__;

        // 循环获取数组中的每个元素
        for (int num = 0; num < obj.size(); ++num) {
            // 将数组中的每个元素转换成json obj
            QJsonObject subObj = obj.at(num).toObject();
            QStringList subKeys = subObj.keys();
            for (int var = 0; var < subKeys.size(); ++var) {
                QString key = subKeys.at(var);
                QJsonValue value = subObj.value(key);
                qDebug() << __FILE__ << __FUNCTION__ << __LINE__ << key << ":" << value.toString();
            }
        }
    }
}

这篇关于Qt 创建一个json数组对象写入文档并从文档读出q的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139853

相关文章

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行