Qt4 json解析
时间: 2023-09-11 20:13:11 浏览: 228
qt解析json
在Qt4中,可以使用第三方库QJson来解析JSON数据。下面是一个简单的示例代码:
```cpp
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\",\"cars\":[\"Ford\",\"BMW\",\"Fiat\"]}";
// 解析JSON数据
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (!jsonDoc.isNull()) {
if (jsonDoc.isObject()) {
QJsonObject jsonObj = jsonDoc.object();
// 获取name字段的值
QString name = jsonObj["name"].toString();
qDebug() << "Name: " << name;
// 获取age字段的值
int age = jsonObj["age"].toInt();
qDebug() << "Age: " << age;
// 获取city字段的值
QString city = jsonObj["city"].toString();
qDebug() << "City: " << city;
// 获取cars数组的值
QJsonArray carsArray = jsonObj["cars"].toArray();
QStringList carsList;
foreach (const QJsonValue &value, carsArray) {
carsList.append(value.toString());
}
qDebug() << "Cars: " << carsList;
}
}
return a.exec();
}
```
在上面的示例中,我们使用QJsonDocument::fromJson()函数将JSON字符串转换为QJsonDocument对象。然后,我们可以使用QJsonObject和QJsonArray来访问和解析JSON对象和数组中的数据。通过使用相应的字段名称,我们可以获取JSON中的值,并将其转换为适当的类型。
请注意,Qt4的QJson模块不是内置的,需要单独安装。你可以从Qt官方网站或第三方库管理工具中获取QJson模块,并将其添加到你的项目中。
阅读全文