我有这个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)
不起作用。
您应该使用js yaml这样的工具,首先将yaml
转换为js literal
。
const yaml = require('js-yaml');
let data = yaml.load(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);