{"code":200,"data":[{"id":1},{"id":2}]} 用nlohmann-json获取id为2的json obeject
时间: 2023-07-19 12:38:51 浏览: 133
假设你已经用 nlohmann-json 将该 json 字符串解析为一个 json 对象,可以使用以下代码来获取 id 为 2 的 json 对象:
```cpp
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
std::string json_str = R"({"code":200,"data":[{"id":1},{"id":2}]})";
json j = json::parse(json_str);
// 获取 data 数组中 id 为 2 的 json object
json id_2_obj;
for (const auto& item : j["data"]) {
if (item["id"] == 2) {
id_2_obj = item;
break;
}
}
std::cout << id_2_obj.dump() << std::endl; // 输出:{"id":2}
return 0;
}
```
在上述代码中,我们首先定义了一个 json 对象 `j`,并将 json 字符串解析为该对象。然后使用 for 循环遍历 `j["data"]` 数组中的每个元素,找到 id 为 2 的 json object 并赋值给 `id_2_obj` 变量。最后使用 `dump()` 函数将 `id_2_obj` 对象转换为 json 字符串并输出。
阅读全文