我收到了这个yaml文件:
description:
is_a: AnnotationProperty
labelEN: description
labelPT: descrição
relevance:
is_a: AnnotationProperty
domain: Indicator
labelEN: relevance
labelPT: relevância
title:
is_a: AnnotationProperty
labelPT: título
labelEN: title
range: Literal
我需要将它转换为json,所以我可以得到这样的东西:
{
"description": {
"is_a": "AnnotationProperty",
"labelEN": "description",
"labelPT": "descrição"
},
"relevance": {
"is_a": "AnnotationProperty",
"domain": "Indicator",
"labelEN": "relevance",
"labelPT": "relevância"
},
"title": {
"is_a": "AnnotationProperty",
"labelPT": "título",
"labelEN": "title",
"range": "Literal"
}
}
并将其保存在js变量中......
那么,我该怎么做呢?
答案 0 :(得分:8)
您可以使用在节点上运行的简单JavaScript脚本来解决这个问题。
js-yaml
包:npm install js-yaml -g
然后将此脚本保存到文件中,并使用node.js运行它:
var inputfile = 'input.yml',
outputfile = 'output.json',
yaml = require('js-yaml'),
fs = require('fs'),
obj = yaml.load(fs.readFileSync(inputfile, {encoding: 'utf-8'}));
// this code if you want to save
fs.writeFileSync(outputfile, JSON.stringify(obj, null, 2));
答案 1 :(得分:2)
遗憾的是,JavaScript中的标准库中没有任何内容可以帮助您。
可以建立自己的,但它需要做很多工作。您将不得不构建一个解析器,并且可能需要解决很多边缘情况。可能值得考虑使用third-party module。