2016-05-02 18 views
-1

ich diese yaml Datei bekam:Convert yaml 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 

und ich muss es json konvertieren, so kann ich so etwas wie dieses:

{ 
    "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" 
    } 
} 

und es in einem js speichern variable ...

Also, wie kann ich das tun?

Antwort

0

Es gibt leider nichts in der Standardbibliothek in JavaScript, die dies für Sie tun wird.

Es ist möglich, Ihre eigenen zu bauen, aber es ist eine Menge Arbeit. Sie müssten einen Parser erstellen, und es gibt wahrscheinlich viele Randfälle, die Sie lösen müssten. Es könnte sich lohnen, eine third-party module zu verwenden.

3

Sie können das mit einem einfachen JavaScript-Skript auf Knoten lösen.

  1. installieren node.js
  2. installieren Sie das js-yaml Paket: npm install js-yaml -g

Dann dieses Skript in eine Datei speichern, und es mit node.js laufen:

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));