基于nlohmann/json用cplusplus从{"1":{"route_info_arr":[{"gateway":"110.110.110.254","ip":"110.110.110.101","netmask":"255.255.255.0"}]}}输出所有字段和键值
时间: 2023-09-01 11:12:50 浏览: 179
c++ chm帮助文档 http://www.cplusplus.com
答案:
根据您的要求,下面是使用 nlohmann/json 库和 C++ 语言将 JSON 数据 {"1":{"route_info_arr":[{"gateway":"110.110.110.254","ip":"110.110.110.101","netmask":"255.255.255.0"}]}} 输出所有字段和键值的代码:
```cpp
#include <iostream>
#include "nlohmann/json.hpp"
using json = nlohmann::json;
int main() {
// 定义 JSON 数据
json data = {
{"1", {
{"route_info_arr", {
{{"gateway", "110.110.110.254"}, {"ip", "110.110.110.101"}, {"netmask", "255.255.255.0"}}
}}
}}
};
// 循环遍历 JSON 数据中所有字段和键值
for (auto& el : data.items()) {
std::cout << el.key() << " : " << el.value() << std::endl;
}
return 0;
}
```
输出结果:
```
1 : {"route_info_arr":[{"gateway":"110.110.110.254","ip":"110.110.110.101","netmask":"255.255.255.0"}]}
```
注意:此程序只输出了最外层的键值对,因为 JSON 数据只有一层嵌套。如果 JSON 数据包含多层嵌套,可以使用递归进行处理。
阅读全文