如何将完整的Yaml或JSON对象打印到带有节点的文件

时间:2018-10-03 16:10:17

标签: node.js yaml swagger

我正在尝试将yaml文件的定义部分复制到codegen项目的js文档中。我尝试使用正则表达式(对于从不可靠的js文件中复制方法非常有用),但是显然regexp无法很好地处理yaml文件中的信息。我设法通过console.log在命令行上打印了我想要的大部分内容。有些数组只说[Object],这是有问题的。我想打印其全部内容。但是,这不是主要问题。当我尝试将此输出写入文件而不是控制台时...它只是说 “ [object Object] [对象对象]” 我的两个定义。有人做过这样的事吗?这是我的代码段,控制台输出与TIA上方的两行相比是什么样的!

var doc = yaml.safeLoad(fs.readFileSync('path to my file\swagger.yaml', 'utf8'));
for(var d in doc['definitions']){
    logit(doc['definitions'][d]); //logit write to consle and a file
}

enter image description here

1 个答案:

答案 0 :(得分:1)

safeLoad建议您使用js-yaml库。它还提供了safeDumpdump方法。

yamlDef= yaml.safeDump(doc['definitions'][d]);
logit(yamlDef);

将YAML转换为JSON:

var json = JSON.stringify(yamlDef);