qt json数组中有两个对象如何处理
时间: 2023-12-24 09:02:12 浏览: 71
qt-json.tar.gz_qt json
如果你想要处理一个包含两个对象的 JSON 数组,你可以使用 Qt 的 QJsonDocument 和 QJsonArray 类。首先,你需要将 JSON 字符串转换为 QJsonDocument 对象,然后获取 JSON 数组并遍历其内容。在遍历 JSON 数组时,你可以使用 QJsonValue 类来获取每个对象,并将其转换为 QJsonObject 对象。以下是一个简单的示例代码:
```c++
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
QString jsonString = "[{ \"name\": \"Alice\", \"age\": 30 }, { \"name\": \"Bob\", \"age\": 40 }]";
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
if (jsonDoc.isArray()) {
QJsonArray jsonArray = jsonDoc.array();
foreach (const QJsonValue & value, jsonArray) {
if (value.isObject()) {
QJsonObject jsonObject = value.toObject();
QString name = jsonObject["name"].toString();
int age = jsonObject["age"].toInt();
// Do something with name and age
}
}
}
```
在上面的代码中,我们首先将 JSON 字符串转换为 QJsonDocument 对象。然后,我们检查其是否为一个数组,并获取其 QJsonArray 对象。接下来,我们使用 foreach 循环遍历 JSON 数组的每个元素,并检查其是否为一个对象。如果是,我们将其转换为 QJsonObject 对象,并使用它来获取每个对象的 "name" 和 "age" 属性的值。
阅读全文