博客
关于我
QT读取JSON文件并解析
阅读量:610 次
发布时间:2019-03-13

本文共 1395 字,大约阅读时间需要 4 分钟。

JSON文件解析

config.json文件结构

{
"autor": "yudabo",
"staff": [
{"name": "于大博1"},
{"name": "于大博2"},
{"name": "于大博3"},
{"name": "于大博4"},
{"name": "于大博5"},
{"name": "于大博6"},
{"name": "于大博7"},
{"name": "于大博8"},
{"name": "于大博9"},
{"name": "于大博10"}
],
"data": {
"name": "yudabo"
}
}

解析步骤

  • 读取文件
  • QFile file("config.json");
    file.setReadOnly(true);
    file.setText(true);
    file.open();
    QString value = file.readAll();
    file.close();
    QJsonParseError parseJsonErr;
    QJsonDocument document = QJsonDocument::fromJson(value.toUtf8(), &parseJsonErr);
    if (parseJsonErr.error != QJsonParseError::NoError) {
    QMessageBox::about(NULL, "提示", "配置文件错误!");
    return;
    }
    1. 解析JSON数据
    2. QJsonObject jsonObject = document.object();
      // 解析autor字段
      QDebug << "jsonObject[\"autor\"]==" << jsonObject["autor"].toString();
      // 解析staff字段
      if (jsonObject.contains("staff")) {
      QJsonValue arrayValue = jsonObject.value("staff");
      if (arrayValue.isArray()) {
      QJsonArray array = arrayValue.toArray();
      for (int i = 0; i < array.size(); i++) {
      QJsonValue nameArray = array.at(i);
      QJsonObject key = nameArray.toObject();
      QDebug << "key[name]:" << key["name"].toString();
      }
      }
      }
      // 解析data字段
      QJsonValue dataValue = jsonObject.value("data");
      QJsonObject data = dataValue.toObject();
      QDebug << "data[name]:" << data["name"].toString();

    转载地址:http://vbbaz.baihongyu.com/

    你可能感兴趣的文章
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    nodejs + socket.io 同时使用http 和 https
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    NodeJS API简介
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    NodeJS yarn 或 npm如何切换淘宝或国外镜像源
    查看>>
    nodejs 中间件理解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    NodeJS 的环境变量: 开发环境vs生产环境
    查看>>
    nodejs 读取xlsx文件内容
    查看>>