c++ json 数组
时间: 2023-11-16 16:04:29 浏览: 51
JSON数组是一种存储多个数据项的方式,在JSON中用方括号 [] 来表示。数组可以包含不同类型的数据,如数字、字符串、布尔值等,甚至可以包含其他的JSON对象或数组。
例如,下面是一个包含三个元素的JSON数组的示例:
```
[
"apple",
"banana",
"orange"
]
```
在这个例子中,JSON数组包含了三个字符串元素:apple、banana和orange。
另一个例子是包含多个对象的JSON数组:
```
[
{
"name": "John",
"age": 30
},
{
"name": "Jane",
"age": 25
},
{
"name": "Mike",
"age": 35
}
]
```
在这个例子中,JSON数组包含了三个对象,每个对象包含了名字和年龄属性。
相关问题
c++ nlohmann 赋值json数组为空
要赋值一个空的 JSON 数组,可以使用空的 JSON 数组来初始化一个 JSON 对象,然后将这个 JSON 对象赋值给需要的变量。例如:
```c++
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main()
{
// 初始化一个空的 JSON 数组
json empty_array = json::array();
// 将空的 JSON 数组赋值给变量
json my_array = empty_array;
// 输出结果
std::cout << my_array << std::endl;
return 0;
}
```
输出结果为:
```
[]
```
注意,这里使用了 `json::array()` 来初始化一个空的 JSON 数组。如果直接使用 `{}` 或 `[]` 来初始化,会被解释为一个空的 JSON 对象或数组元素,而不是一个空的 JSON 数组。
qt 解析json数组
在 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 数组。