qt如何解析json文件
时间: 2024-05-03 07:22:56 浏览: 10
Qt中可以使用QJsonDocument类和QJsonObject类解析JSON文件。
首先,需要引入QtJson库。在.pro文件中添加以下代码:
```
QT += core
QT += network
QT += xml
QT += json
```
然后,可以使用QFile类读取JSON文件,并使用QJsonDocument类解析JSON文件。
示例代码:
```cpp
#include <QJsonDocument>
#include <QJsonObject>
#include <QFile>
#include <QDebug>
int main()
{
// 打开JSON文件
QFile file("data.json");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
return -1;
}
// 读取JSON文件
QByteArray jsonData = file.readAll();
file.close();
// 解析JSON文件
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData);
if (jsonDoc.isNull())
{
return -1;
}
// 获取根对象
QJsonObject rootObj = jsonDoc.object();
// 获取数据
QString name = rootObj.value("name").toString();
int age = rootObj.value("age").toInt();
qDebug() << "Name:" << name;
qDebug() << "Age:" << age;
return 0;
}
```
其中,data.json文件内容如下:
```json
{
"name": "Tom",
"age": 20
}
```
运行程序,输出结果为:
```
Name: "Tom"
Age: 20
```