QT开发中文网

给出QjSON使用demo

下面是一个使用 QJson 的简单示例,展示了如何创建、解析和操作 JSON 数据。这个示例假设你已经安装了 Qt 并且有一个基本的 Qt 项目结构。

示例代码

#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QFile>
#include <QDebug>

void createJson()
{
    // 创建一个 JSON 对象
    QJsonObject jsonObj;
    jsonObj["name"] = "Alice";
    jsonObj["age"] = 30;

    // 创建一个 JSON 数组
    QJsonArray hobbies;
    hobbies.append("reading");
    hobbies.append("gaming");
    hobbies.append("hiking");
    
    jsonObj["hobbies"] = hobbies;

    // 将 JSON 对象转换为 QJsonDocument
    QJsonDocument doc(jsonObj);
    
    // 将 JSON 文档写入文件
    QFile file("output.json");
    if (!file.open(QIODevice::WriteOnly)) {
        qWarning() << "Could not open file for writing.";
        return;
    }
    
    file.write(doc.toJson());
    file.close();
}

void readJson()
{
    // 从文件中读取 JSON 数据
    QFile file("output.json");
    
    if (!file.open(QIODevice::ReadOnly)) {
        qWarning() << "Could not open file for reading.";
        return;
    }
    
    QByteArray data = file.readAll();
    
    // 解析 JSON 数据
    QJsonDocument doc(QJsonDocument::fromJson(data));
    
    if (doc.isNull()) {
        qWarning() << "Failed to create JSON doc.";
        return;
    }

    if (!doc.isObject()) {
        qWarning() << "JSON is not an object.";
        return;
    }

    // 获取 JSON 对象并访问数据
    QJsonObject jsonObj = doc.object();
    
    QString name = jsonObj["name"].toString();
    int age = jsonObj["age"].toInt();

   qDebug() << "Name:" << name;
   qDebug() << "Age:" << age;

   // 获取爱好数组并输出内容
   QJsonArray hobbies = jsonObj["hobbies"].toArray();
   qDebug() << "Hobbies:";
   for (const auto &hobby : hobbies) {
       qDebug() << hobby.toString();
   }
}

int main(int argc, char *argv[])
{
     QCoreApplication a(argc, argv);

     createJson();  // 创建并写入 JSON 文件 
     readJson();     // 从文件读取并解析 JSON 

     return a.exec();
}

使用说明

  1. 创建项目:在 Qt Creator 中新建一个 C++ 项目。
  2. 添加代码:将上述代码粘贴到 main.cpp 中,并确保包含所需的头文件。
  3. 运行程序:编译并运行程序,将会在项目目录下生成一个名为 output.json 的文件,其中包含生成的 JSON 数据。
  4. 查看结果:程序还会输出解析后的数据到控制台,包括姓名、年龄和爱好列表。

生成的 output.json 文件示例:

{
  "name": "Alice",
  "age": 30,
  "hobbies": [
      "reading",
      "gaming",
      "hiking"
  ]
}

这样,你就可以看到如何使用 QJson 来创建和解析简单的 JSON 数据了!


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 使用说明
  • 生成的 output.json 文件示例:
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=13379

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?