将yaml转换为json

Ped*_*xto 6 javascript json yaml

我有这个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
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为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"
    }
}
Run Code Online (Sandbox Code Playgroud)

并将其保存在js变量中...

那么,我该怎么做呢?

小智 13

您可以使用在节点上运行的简单javascript脚本来解决这个问题.

  1. 安装node.js
  2. 安装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));
Run Code Online (Sandbox Code Playgroud)


小智 3

不幸的是,JavaScript 的标准库中没有 \xe2\x80\x94 可以为你执行此操作。

\n\n

您可以自己构建,但这需要大量工作。您必须构建一个解析器,并且可能需要解决很多边缘情况。可能值得考虑使用第三方模块

\n