解析 YAML 文件?

Posted

技术标签:

【中文标题】解析 YAML 文件?【英文标题】:Parsing a YAML file? 【发布时间】:2020-08-13 21:08:58 【问题描述】:

如何使用 yaml-cpp 解析以下 YAML 文件?

scene:
  - camera:
      film:
        width: 800
        height: 600
        filename: "out.svg"
  - shape:
      name: "muh"

我试过了:

#include <yaml-cpp/yaml.h>

int main() 
    YAML::Node root_node = YAML::LoadFile("Scenes/StanfordBunny.flatland.yaml");
    
    // throws an exception
    int value = root_node["scene"]["camera"]["film"]["width"].as<int>();

如何获取width 属性的值? 如何获取shape 属性的名称?

【问题讨论】:

【参考方案1】:

相机前面的“-”表示它是一个对象数组。所以我的猜测是:

root_node["scene"][0]["camera"]["film"]["width"].as<int>();

【讨论】:

以上是关于解析 YAML 文件?的主要内容,如果未能解决你的问题,请参考以下文章

yaml文件解析

yaml文件解析

解析 YAML 文件?

在 Python 中解析 YAML 文件并访问数据?

找到 YAML 文件,但无法解析内容

解析 YAML 文件