nlohmann::json 遍历查找
时间: 2025-01-23 19:02:42 浏览: 48
### 使用 `nlohmann::json` 进行遍历操作
为了展示如何使用 `nlohmann::json` 库进行遍历操作,下面是一个具体的例子。该示例展示了创建一个 JSON 对象以及数组,并对其进行遍历。
#### 遍历 JSON 数组
```cpp
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
// 创建一个包含不同类型的 JSON 数组
json jsonArray = {"string", 123, true, nullptr};
// 遍历 JSON 数组并输出每个元素及其类型
for (auto& element : jsonArray) {
std::cout << "Type: " << element.type_name() << ", Value: ";
switch(element.type()) {
case json::value_t::null:
std::cout << "null";
break;
case json::value_t::object:
std::cout << "{}"; // 或者更复杂的对象打印逻辑
break;
case json::value_t::array:
std::cout << "[]"; // 同样可以根据需求展开更多细节
break;
case json::value_t::boolean:
std::cout << std::boolalpha << element.get<bool>();
break;
case json::value_t::number_integer:
case json::value_t::number_unsigned:
case json::value_t::number_float:
std::cout << element.get<double>(); // 统一转换成 double 输出
break;
case json::value_t::string:
std::cout << "\"" << element.get<std::string>() << "\"";
break;
default:
std::cout << "<unknown>";
}
std::cout << "\n";
}
return 0;
}
```
这段代码首先定义了一个混合不同类型值的 JSON 数组,接着通过范围循环迭代访问每一个成员项,并根据不同数据类型采取适当的方式显示其内容[^4]。
对于更加复杂的情况比如嵌套的对象或数组,则可以在遇到这些结构时进一步深入递归处理它们的内容。
阅读全文
相关推荐


















