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

本文共 1349 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>
    Nmap扫描教程之Nmap基础知识
    查看>>
    Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
    查看>>
    NMAP网络扫描工具的安装与使用
    查看>>
    NMF(非负矩阵分解)
    查看>>
    NN&DL4.1 Deep L-layer neural network简介
    查看>>
    NN&DL4.3 Getting your matrix dimensions right
    查看>>
    NN&DL4.8 What does this have to do with the brain?
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>