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,然后,再逐層查找】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM