如何遍历和访问 nlohmann::json 中的数据结构?
时间: 2024-10-25 08:18:29 浏览: 366
nlohmann::json 是 C++ 中一个流行的 JSON 库,它提供了一种简单的方式来处理 JSON 数据。遍历和访问 `nlohmann::json` 中的数据结构通常通过成员函数和迭代器完成。以下是基本步骤:
1. 创建一个 `json` 对象:
```cpp
nlohmann::json j = {{"key", "value"}, {"array", {1, 2, 3}}};
```
2. 访问键值对(如字典或对象):
- 使用 `.at()` 或 `[ ]` 来获取特定键的值(如果存在),抛出异常如果没有:
```cpp
std::string str = j["key"];
```
- 如果不确定键是否存在,可以先检查 `j.count("key")`:
```cpp
if (j.contains("key")) {
str = j["key"];
}
```
3. 遍历对象的所有键值对:
```cpp
for (const auto& pair : j.items()) {
std::cout << pair.key() << ": " << pair.value() << "\n";
}
```
4. 访问数组(列表)元素:
- 直接下标索引访问元素:
```cpp
int firstElement = j["array"][0];
```
- 使用范围-for 循环遍历整个数组:
```cpp
for (const auto& elem : j["array"]) {
std::cout << elem << ", ";
}
```
5. 更深层次的数据结构,比如嵌套的对象和数组,递归处理即可。
阅读全文