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

运行之后:

相关推荐
羊小猪~~3 小时前
【QT】-- QT基础类
开发语言·c++·后端·stm32·单片机·qt
起个名字费劲死了4 小时前
QT 学习:协同开发的程序如何汇总到主程序
qt
路多辛5 小时前
JSONC-带注释的 JSON 详解
开发语言·json
资深流水灯工程师6 小时前
基于Python的Qt开发之Pyside6 QtSerialPort库的使用
python·qt
一只小bit6 小时前
Qt 对话框全方面详解,包含示例与解析
前端·c++·qt·cpp·页面
SunkingYang7 小时前
QT中QStringList如何查找指定字符串,有哪些方式?
qt·字符串·查找·子串·qstringlist
牵牛老人7 小时前
Qt后端开发遇到跨域问题终极解决方案 与 Nginx反向代理全解析
qt·nginx·状态模式
hqwest7 小时前
码上通QT实战32--报警页面02-触发报警条件
开发语言·qt·传感器采集·温度报警·湿度报警·亮度报警·阈值判定
牵牛老人7 小时前
Windows下安装Qt后再添加或移除Qt组件需要组件的有效资料档案库如何处理
开发语言·windows·qt