zoukankan      html  css  js  c++  java
  • QT5 解析JSON文件

    QT读JSON文件步骤,这里把过程记录一下,网上大多都是怎么写json的,对于读的,记录的不多

    • 首先JSON文件格式必须为UTF-8(非UTF-8 with BOM),UTF-8 with BOM 即为UTF-8 前加了BOM标识,会导致解析失败,报错内容非法,这时候就将文件保存为UTF-8就好了。
    • QT5 解析JSON需要引入头文件
          #include <QJsonDocument>
          #include <QJsonObject>
          #include <QJsonParseError>
    
    • 从文件读入文本
    #include <QFile>
    QFile file("./ServerConfig.json");
    if(file.open(QIODevice::ReadWrite | QIODevice::Text))//打开文件
    {
           QByteArray fileContent = file.readAll().data();//提取文本信息
    }
    
    • 解析文件内容
          QJsonParseError err; //Json 解析错误类
          QJsonObject jsonObj = QJsonDocument::fromJson(fileContent,&err).object();//将json解析成对象
          if(jsonObj.isEmpty())//检查json是否合法(是否为空)
          {
                cout <<"[!!!]Abort!Config file Parsing Error"<<endl;
                cout << err.errorString().toStdString()<< endl; //Json 解析错误信息
                return;//当错误时,返回
          }
          else
          {
                QStringList keys = jsonObj.keys(); //取出关键词列表,如果你的json是动态的,那么需要靠这个列表取表项
          }
          if(jsonObj.contains("global"))//global项是否存在
          {
                
                jsonObj.value("global").toString();//取出这个项的内容
          }
    

    【若JSON为多层嵌套结构,则toString改为toObject,然后,再逐层查找】

  • 相关阅读:
    手写识别——KNN
    软件测试
    《代码整洁之道》阅读笔记(一)
    《人月神话》阅读笔记(三)
    《人月神话》阅读笔记(二)
    《人月神话》阅读笔记(一)
    大四寒假日期汇报2.20
    大四寒假日期汇报2.19
    大四寒假日期汇报2.18
    大四寒假日期汇报2.17
  • 原文地址:https://www.cnblogs.com/udream/p/13079582.html
Copyright © 2011-2022 走看看