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

相关文章

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议