使用javascript将yaml转换为json [duplicate]

tf7tbtn2  于 2022-12-15  发布在  Java
关注(0)|答案(2)|浏览(266)

此问题在此处已有答案

JavaScript YAML Parser [closed](4个答案)
六年前关闭了。
我得到了这个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变量中。
那么,我该怎么做呢?
嘿,请检查下面的YAML to JSON converterhttps://www.yamlonline.com/链接

bq9c1y66

bq9c1y661#

您可以通过在node上运行一个简单的javascript脚本来解决这个问题。
1.安装节点. js
1.安装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));
bgibtngc

bgibtngc2#

不幸的是,JavaScript的标准库中没有任何东西可以为您做到这一点。
你可以自己构建一个解析器,但是工作量很大。你必须构建一个解析器,而且可能有很多边缘情况需要解决。也许值得考虑使用third-party module

相关问题