c++ 检查json中的key是否存在
时间: 2024-05-13 14:15:28 浏览: 141
在 C++ 中,可以使用第三方库 jsoncpp 来解析 JSON 数据。其提供了 Json::Value 类型来表示 JSON 对象,可以通过判断 Json::Value 对象中的键是否存在来检查 JSON 中的 key 是否存在。
以下是一个示例代码:
```c++
#include <iostream>
#include <json/json.h>
int main() {
std::string jsonString = R"({"name": "Alice", "age": 20})";
Json::Value root;
Json::Reader reader;
bool parsingSuccessful = reader.parse(jsonString, root);
if (!parsingSuccessful) {
std::cerr << "Failed to parse JSON string." << std::endl;
return 1;
}
if (root.isMember("name")) {
std::cout << "JSON object has key 'name'." << std::endl;
}
if (!root.isMember("address")) {
std::cout << "JSON object does not have key 'address'." << std::endl;
}
return 0;
}
```
在上述代码中,使用 Json::Reader 解析 JSON 字符串,并将解析结果存储在 Json::Value 类型的对象 root 中。然后,可以使用 Json::Value 类型的成员函数 isMember 来判断 JSON 对象中是否存在指定的 key。如果存在,则返回 true;否则返回 false。
阅读全文