Javascript 如何迭代YAML配置并获取选项?
我有这个YAML配置文件:Javascript 如何迭代YAML配置并获取选项?,javascript,node.js,configuration,yaml,config,Javascript,Node.js,Configuration,Yaml,Config,我有这个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)
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)
时,我会得到列表1、列表2、列表3,但是console.log(sheet.name)
在循环中不起作用。您应该使用类似的工具,首先将yaml
转换为js文本
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);
可能取决于您用来解析YAML的库。在你没有“太多时间”的情况下,解决问题的最快方法是搜索网页,看看其他人是如何解决的,而不是在这里等待答案。这是一个已解决的问题。是的,我同时做了……谷歌搜索和提问。但我没有时间进行配置,所以我可以在别人可能帮助我的时候做其他事情。我使用的库是'js-yaml',我不确定我是否理解--如果您使用的是js-yaml,它将配置文件转换为对象,那么具体的问题是什么?即使不清楚,仅仅转储解析过的文档肯定会提供一些关于如何处理数据的想法?