1.概要
2.代码
//#include "mainwindow.h"
#include <QApplication>
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>
//读取json数据的配置文件
QJsonObject readJsonConfigFile(const QString &fileName) {
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return QJsonObject(); // 返回空对象或处理错误
// 读取文件内容
QByteArray jsonData = file.readAll();
QJsonParseError jsonError;
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData, &jsonError);
// 检查 JSON 解析是否成功
if (jsonError.error != QJsonParseError::NoError) {
qDebug() << "JSON 解析错误:" << jsonError.errorString();
return QJsonObject(); // 返回空对象或处理错误
}
// 假设顶层是一个 QJsonObject
return jsonDoc.object();
}
// 使用示例
void useJsonConfigFile(const QString &fileName) {
QJsonObject jsonObject = readJsonConfigFile(fileName);
if (!jsonObject.isEmpty()) {
QJsonObject userObject = jsonObject["user"].toObject();
QString name = userObject["name"].toString();
int age = userObject["age"].toInt();
qDebug() << "Name:" << name << ", Age:" << age;
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString fileName="test.txt";
useJsonConfigFile(fileName);
return a.exec();
}
3.运行结果