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

运行之后:

相关推荐
每天敲200行代码11 小时前
QT 概述(背景介绍、搭建开发环境、Qt Creator、程序、项目文件解析、编程注意事项)
c++·qt
超级大坏蛋201821 小时前
QT .pro文件的常见用法
java·linux·qt
奥特曼狂扁小怪兽1 天前
基于 Qt 实现的动态流程图画板框架设计与实现
qt·microsoft·流程图
HH思️️无邪1 天前
Flutter 开发技巧 AI 快速构建 json_annotation model 的提示词
flutter·json
ajassi20001 天前
开源 C++ QT Widget 开发(七)线程--多线程及通讯
linux·c++·qt·开源
Forward♞1 天前
Qt——界面美化 QSS
开发语言·c++·qt
GISBox2 天前
GIS新手入门首选!GISBox中文界面+一键安装,零依赖轻松搞定三维数据发布
vue.js·json·gis
MonkeyKing_sunyuhua2 天前
什么是JSON-RPC 2.0,在项目中应该怎么使用
qt·rpc·json
tan77º2 天前
【项目】分布式Json-RPC框架 - 抽象层与具象层实现
linux·服务器·c++·分布式·tcp/ip·rpc·json
卑微的小李2 天前
Qt在Linux下编译发布 -- linuxdeployqt的使用
linux·c++·qt