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()<<"失败";
    }

运行之后:

相关推荐
mct1236 小时前
QUdpSocket发送组播和接受组播数据
qt·组播
火山上的企鹅9 小时前
Qt Quick 之动态旋转刻度盘(无人机中指南针 Demo )
qt·无人机·cocos2d
老七秘制小程序10 小时前
在Jetson AGX Orin上将docker目录挂载到大容量硬盘目录
docker·容器·eureka·json
ID_1800790547310 小时前
python采集拍立淘按图搜索API接口,json数据参考
大数据·数据库·python·json
是小峰呀11 小时前
QT+opencv+yolov8推理
开发语言·qt·yolo
GUIQU.12 小时前
【QT】概述
开发语言·c++·qt
茉莉玫瑰花茶12 小时前
Qt 常用控件 - 5
开发语言·qt
残醉13 小时前
QT自定义控件
qt
三天不学习15 小时前
MySQL JSON 数据类型用法及与传统JSON字符串的对比 JSON数据类型简介
mysql·json
啊森要自信1 天前
【QT】常⽤控件详解(四)常用显示类控件类 Label && LCDNumber && ProgressBar && Calendar Widget
开发语言·数据库·c++·qt·qt6.3