ZBLOG

generate:\n - data_struct_number: 74\n incentive_id: 1\n node_id: 1\nname: 全府员公多市面\nnotes: laborum

根据您提供的YAML片段,它表示一个具有键值对和嵌套列表的数据结构。如果您想在C++中解析该YAML并获取其中的数据,可以使用yaml-cpp库进行操作。以下是一个示例:

#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::Node config = YAML::Load(yamlString);

    // 获取generate节点下的第一个元素(索引为0)
    YAML::Node generateNode = config["generate"][0];

    // 获取data_struct_number、incentive_id和node_id的值
    int dataStructNumber = generateNode["data_struct_number"].as<int>();
    int incentiveId = generateNode["incentive_id"].as<int>();
    int nodeId = generateNode["node_id"].as<int>();

    // 获取name和notes的值
    std::string name = config["name"].as<std::string>();
    std::string notes = config["notes"].as<std::string>();

    // 输出获取到的值
    std::cout << "data_struct_number: " << dataStructNumber << std::endl;
    std::cout << "incentive_id: " << incentiveId << std::endl;
    std::cout << "node_id: " << nodeId << std::endl;
    std::cout << "name: " << name << std::endl;
    std::cout << "notes: " << notes << std::endl;

   return 0;
}

上述代码首先将您提供的YAML片段保存为一个字符串。然后使用YAML::Load()函数将其解析为YAML::Node对象。接下来,通过逐级访问节点以及使用.as<>()方法获取相应键的值。

请注意,示例中的索引 [0] 用于获取generate节点下的第一个元素,如果generate节点包含多个元素,则需要相应调整索引。

编译并运行上述代码可以输出以下结果:

data_struct_number: 74
incentive_id: 1
node_id: 1
name: 全府员公多市面
notes: laborum

希望这可以帮助到您!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17368

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?