Qt 中Json文件的操作

Json文件的读取

cpp 复制代码
    QFile file("data.json"); //准备好的文件

    file.open(QIODevice::ReadOnly|QIODevice::Text);
    QByteArray arr = file.readAll();

    QJsonDocument jsonDoc = QJsonDocument::fromJson(arr);
    QJsonObject jsonObj = jsonDoc.object();

    qint32 id = jsonObj["id"].toInt();
    QString glassid = jsonObj["Glassid"].toString();
    bool result = jsonObj["Result"].toBool();
    qDebug()<<id<<glassid<<result;

提前准备的文件内容:

Json文件的写入

cpp 复制代码
//根据情况设定所需要的类,并实现tojson方法 
class Person
{
public:
    Person();
    Person(int id,QString Glassid,bool Result);
    int Id;
    QString Glassid;
    bool Result;

    QJsonObject tojson()const{  //实现方法
        QJsonObject obj;
        obj["id"]=this->Id;
        obj["Glassid"]=this->Glassid;
        obj["Result"]=this->Result;
        return obj;
    }
};


    person = Person(10,"20310120727",false); //Person的构造函数
    QJsonObject obj1 = person.tojson();;
    QJsonDocument jsonDoc1(obj1);

    QFile file1("data.json");
    if(file1.open(QIODevice::WriteOnly|QIODevice::Text)){
        file1.write(jsonDoc1.toJson());
        file1.close();
    }
    else {
        qDebug()<<"失败";
    }

运行之后:

相关推荐
liyuanbhu5 小时前
Qt Creator 中使用 vcpkg
qt·cmake
yyytucj5 小时前
对比JSON和Hessian2的序列化格式
json
通信.萌新7 小时前
【Qt】常用的容器
开发语言·qt
m0_747124537 小时前
用QT做一个网络调试助手
网络·qt·php
人工智能教学实践14 小时前
基于 YOLOv8+PyQt5 的无人机红外目标检测系统:开启智能监测新时代
qt·yolo·无人机
cmdyu_17 小时前
解决对axios请求返回对象进行json化时报“TypeError Converting circular structure to JSON“错误的问题
json
人工智能教学实践1 天前
基于 YOLOv8+PyQt5 界面自适应的无人机红外目标检测系统项目介绍框架
qt·yolo·无人机
誰能久伴不乏1 天前
从零开始:用Qt开发一个功能强大的文本编辑器——WPS项目全解析
数据库·qt·wps
m0_699659561 天前
QT知识点复习
开发语言·qt
深蓝海拓2 天前
基于深度学习的视觉检测小项目(十六) 用户管理界面的组态
人工智能·python·深度学习·qt·pyqt