我有这个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)
无法工作。
答案 0 :(得分:1)
您应该使用js-yaml之类的工具,首先将yaml
转换为js 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);