Node.js 解析yaml文件(JS-yaml-NodeJS)时出现问题

Node.js 解析yaml文件(JS-yaml-NodeJS)时出现问题,node.js,parsing,Node.js,Parsing,我希望解析下面的yml文件(fake.yml) 我尝试过简单的safeLoad()函数,但不确定如何访问每个市场所有水果的id/name: const fs = require('fs'); const yaml = require('js-yaml'); try { let fileContents = fs.readFileSync('c:/temp/fake.yml'); let dataArray = yaml.safeLoad(fileContents); c

我希望解析下面的yml文件(fake.yml)

我尝试过简单的safeLoad()函数,但不确定如何访问每个市场所有水果的id/name:

const fs = require('fs');
const yaml = require('js-yaml');

try {
    let fileContents = fs.readFileSync('c:/temp/fake.yml');
    let dataArray = yaml.safeLoad(fileContents);
    console.log(dataArray);

    console.log("******-" + dataArray.Markets); // Not sure how to handle :Markets 
 } catch (e) {
    console.log(e);
}
下面是我运行上述代码段时的输出:

{ “:dl_dir”:“C:\Temp”, “:市场”:[ {:id':'ABC-001',':name':'ASIA001',':fruits':[Array]}, {:id':'EUR-001',':name':'EUR001',':fruits':[Array]} ] } ******-未定义

提前谢谢你的帮助

 dataArray[':Markets'][':id'] ==> 

按预期给出“ABC-001”。这似乎只是我的语法问题。

这不是一个正确的yaml结构。谢谢您的回复。不幸的是,此yaml来自第三方系统,无法更改。我需要更新ID/Name字段…也许我会尝试将其作为文本文件处理,如果无效,则查看其是否有效。我刚刚通过在线验证程序运行了yml文件,它表明格式有效。验证程序在撒谎。我建议阅读yaml语法。再次感谢您的回复。这是对我有用的东西。我必须使用dataArray[':Markets'][':id']来获得值ABC-001…simple for/forEach循环给了我每个水果的值。
 dataArray[':Markets'][':id'] ==>