qt 解析json数组
时间: 2023-08-21 18:16:25 浏览: 157
在 Qt 中解析 JSON 数组可以使用 `QJsonDocument` 类和 `QJsonArray` 类。
假设我们有以下 JSON 数组:
```json
[
{
"name": "Alice",
"age": 25
},
{
"name": "Bob",
"age": 30
}
]
```
我们可以使用以下代码来解析它:
```c++
QJsonDocument doc = QJsonDocument::fromJson(jsonString.toUtf8());
QJsonArray jsonArray = doc.array();
foreach (const QJsonValue & value, jsonArray) {
QJsonObject obj = value.toObject();
QString name = obj["name"].toString();
int age = obj["age"].toInt();
// 处理数据
}
```
首先,我们使用 `QJsonDocument::fromJson()` 函数将 JSON 字符串转换为 `QJsonDocument` 对象。然后,我们调用 `QJsonDocument::array()` 函数获取 JSON 数组。接下来,我们使用 `foreach` 循环遍历数组中的每个元素。每个元素都是 `QJsonValue` 类型,我们可以使用 `QJsonValue::toObject()` 函数将其转换为 `QJsonObject` 类型。最后,我们可以使用 `QJsonObject` 中的键来获取值。
以上代码可以用于解析任何 JSON 数组。
阅读全文