qt 读取json文件
时间: 2024-05-27 07:05:15 浏览: 150
在Qt中读取JSON文件可以使用QJsonDocument类和QJsonParseError类来实现。下面是一个示例代码[^2]:
```cpp
// 读取JSON文件
QFile file("path/to/file.json");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
// 文件打开失败
qDebug() << "Failed to open file";
return;
}
QJsonParseError jsonError;
QJsonDocument document = QJsonDocument::fromJson(file.readAll(), &jsonError);
file.close();
if (jsonError.error != QJsonParseError::NoError) {
// JSON文件加载内容报错
qDebug() << "JSON parse error:" << jsonError.errorString();
return;
}
// 执行解析操作
if (document.isObject()) {
QJsonObject jsonObject = document.object();
// 对象解析操作
} else if (document.isArray()) {
QJsonArray jsonArray = document.array();
// 数组解析操作
}
```
在上面的代码中,首先使用QFile类打开JSON文件,然后使用QJsonDocument的静态函数fromJson()将文件内容解析为JSON文档。如果解析过程中出现错误,可以通过QJsonParseError类获取错误信息。最后,根据JSON文档的类型执行相应的解析操作。
阅读全文