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

相关文章

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum