如何迭代 YAML 配置并获取选项?

西兰花汁

我有这个 YAML 配置文件:

sheets:
  list1:
    name: 'sheet1'
    sql: 'SELECT'
  list2:
    name: 'sheet2'
    sql: 'SELECT'
  list3:
    name: 'sheet3'
    sql: 'SELECT'

我使用库'js-yaml'来解析 YAML 配置。例如,我想控制台记录所有列表名称。我怎样才能做到这一点?我在 JS 中有这样的东西:

for(sheet in config.sheets) {
    console.log(sheet.name);
}

当我console.log(sheet)在循环中执行时,我得到 list1、list2、list3,但console.log(sheet.name)在循环中不起作用。

纳维塔斯28

您应该使用js-yaml 之类的工具,首先将您yamljs literal.

const yaml = require('js-yaml');
let data = yaml.safeLoad(config);

它会返回这样的数据:

 {
       sheets: {
          list1: {
           name: "sheet1",
           sql: 'SELECT'
        },
......other lists
     }
   }

那么你可以简单地

const data = {
  sheets: {
    list1: {
      name: "sheet1",
      sql: 'SELECT'
    },
    list2: {
      name: "sheet2",
      sql: 'SELECT'
    }
  }
}

const name = Object.values(data.sheets).map(item => item.name)
console.log(values);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章