首页 > 其他分享 >qt读取json文件

qt读取json文件

时间:2023-09-01 21:44:25浏览次数:43  
标签:文件 qt keys value json file 读取

Qt读取json数据文件步骤:

本条记录未进行判断,只是针对自己在已知json数据文件下的读取

1、打开文件

QFlie file("设置路径");

2、设置文件打开方式

file.open(QFile::ReadOnly | WriteOnly | ReadWrite);

3、读取文件数据

QByteArray all = file.readAll();

4、关闭文件

file.close();

5、利用QJsonDocument类将文件转换为文档格式

QJsonDocument doc = QJsonDocument::fromJson(all);

6、对其文档类型进行判断

if (doc.isObject())

7、如果是json文件是对象类型,通过QJsonObject转换为对象,并通过keys方法获得key,通过QJsonValue类,得到value值

if (doc.isObject())
{
    QJsonObject obj = doc.object();
    QStringList keys = obj.keys();
    for (int i = 0; i < keys.size(); i++)
    {
        QString key = keys.at(i);
        QJsonValue value = obj.value(key);
    }
}

8、通过对value值类型进行判断输出

例如string类型:

if (value.isString())
{
    qDebug() << key << ":" << value.toString();
}

标签:文件,qt,keys,value,json,file,读取
From: https://www.cnblogs.com/ljh2487/p/17672902.html

相关文章

  • vue项目中package.json的个人见解
    一、背景介绍Vue.js是一种流行的JavaScript前端框架,它以简洁的语法、灵活性和可扩展性而受到开发者的青睐。在Vue项目中,package.json文件是一个非常重要的配置文件,它管理着项目的依赖关系、脚本命令、版本信息等。本文将探讨package.json在Vue项目中的重要性以及个人的使用经验。二......
  • Qt绘制3D图形例程
    本文主要内容是关于QOpenGLWidget的使用。此控件用于代替旧的QGLWidget类。关于此类的使用方法可以参考Qt帮助相关内容。glDrawArrays(...)函数参数说明:OpenGL理解GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN等绘制三角形序列的三种方式_匆忙拥挤repeat的博客-CSDN博客变量修饰符说明......
  • 前端使用xlsx插件读取excel文件数据
    安装xlsx插件npminstallxlsx导入xlsximportXLSXfrom'xlsx'前端UI如下:<bk-upload:tip="'只允许上传JPG、PNG、JPEG的文件'":with-credentials="true":accept="'.xlsx,.xls'"@c......
  • FastJson
    1.JsonArray[{"iSubdomainId":0,"iUpdate":0,"sHtDescription":"","sSourceId":1,"iSource":0,"iHour":0,"sSubdomainName":"","dHtDate":"","iOcLeve......
  • 『PyQt5-基础篇』| 03 基于PyQt5的第一个应用程序简单示例
    (03基于PyQt5的第一个应用程序简单示例)1导入必须的类需要两个类Application,QWidget;这两个类继承于QtWidgets;Application是应用程序类,QWidget是窗口类;sys模块是应用程序或窗口的参数会用到。importsysfromPyQt5.QtWidgetsimportQApplication,QWidget2创建Appli......
  • fastjson2 打开 AutoType
    1.功能简介FASTJSON支持AutoType功能,这个功能在序列化的JSON字符串中带上类型信息,在反序列化时,不需要传入类型,实现自动类型识别。2.AutoType安全机制介绍必须显式打开才能使用。和fastjson1.x不一样,fastjson1.x为了兼容有一个白名单,在fastjson2中,没有任何白名单,也不包括......
  • SQL Server 操作JSON数据库列
    use[tempdb]declare@JSONnvarchar(max)set@JSON=N'{"id":"WakefieldFamily","parents":[{"familyName":"Wakefield","givenName":"Robin"},{"familyNam......
  • newtonsoft.json
    https://www.newtonsoft.com/jsonProductproduct=newProduct();product.Name="Apple";product.Expiry=newDateTime(2008,12,28);product.Sizes=newstring[]{"Small"};stringjson=JsonConvert.SerializeObject(product);//{......
  • 【Python进阶-PyQt5】00PyQt5简介
    0.图形用户界面-开发选择在Python基础的教程中,我们程序的用户交互界面都是运行窗口。这个运行窗口对于我们编程者来说直观明了,但是对于一些相对复杂的程序,用户使用上就会变得十分麻烦。所以,我们要通过设计用户交互界面来解决这种问题。程序的图形用户交互界面,英文称之为GUI(Grap......
  • Python中如何快速解析JSON对象数组
    由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。本文将描述如何使用Python的JSON模块来传输和接收JSON数据。JavaScriptObjectNotationJSON(JavaScriptObjectNotation)是一种用于数据交换的语法,它对人的读写很简单,对计算机的解析和生产也很简单......