在YAML中判断某个键是否存在,可以使用yaml-cpp库提供的功能。下面是一个示例代码,演示了如何检查给定的YAML文档中是否存在指定的键:
#include <iostream>
#include <yaml-cpp/yaml.h>
int main() {
std::string yamlString = R"(
generate:
- data_struct_number: 74
incentive_id: 1
node_id: 1
name: 全府员公多市面
notes: laborum
)";
// 解析字符串为YAML文档
YAML::Node doc = YAML::Load(yamlString);
// 检查某个键是否存在
bool hasGenerateKey = doc["generate"].IsDefined();
bool hasNameKey = doc["name"].IsDefined();
bool hasInvalidKey = doc["invalid_key"].IsDefined();
// 输出结果
std::cout << "Has 'generate' key: " << (hasGenerateKey ? "true" : "false") << std::endl;
std::cout << "Has 'name' key: " << (hasNameKey ? "true" : "false") << std::endl;
std::cout << "Has 'invalid_key' key: " << (hasInvalidKey ? "true" : "false") << std::endl;
return 0;
}
运行以上代码,会输出每个键是否存在的布尔值。
确保已经正确链接并包含了yaml-cpp库,并将其与你的项目一起编译。
内容由零声教学AI助手提供,问题来源于学员提问