Yaml to JSON in Node.js – JSON to Yaml example

There are multiple ways to covert Yaml to JSON in Node.js. But in this article, 2 most popular packages js-yaml & yaml are covered with examples.

1). Comparision of js-yaml & yaml packages
2). How to use js-yaml ?
     2.1). Yaml to JSON example
     2.2). JSON to Yaml example
3). How to use yaml ?
     3.1) Yaml to JSON example
     3.2) JSON to Yaml example
4). Conclusion

1.Comparision of js-yaml & Yaml packages

js-yaml is a JavaScript implementation of the YAML language, which means it is written in JavaScript and can be used in Node.js or in the browser. It provides a simple API for parsing and dumping YAML documents, as well as support for custom types and references. One advantage of using js-yaml is that it is actively maintained and has a large community, so any issues or bugs are likely to be addressed quickly.

On the other hand, yaml is a native C++ YAML parser and emitter for Node.js, which means it is a Node.js addon and requires compilation. It provides a fast and efficient way to parse and emit YAML documents, and supports custom types and schemas. One advantage of using yaml is its performance, which is significantly faster than js-yamlfor large documents.

In terms of features, both packages support most of the YAML 1.2 specification, including anchors, aliases, and custom tags. However, js-yaml provides more flexibility and control over the parsing and dumping process, while yaml focuses on speed and efficiency.

 

2.How to use js-yaml

To convert JSON to YAML using Node.js, you can use the js-yaml package to dump the JSON object to a YAML string and write it to a new file.

Install the js-yaml package by running the following command in your terminal:

npm install js-yaml

2.1. Yaml to JSON example

Use yaml.load() to convert Yaml to JSON. Below is the complete code.

//Load the package
const yaml = require('js-yaml');
const fs = require('fs');

//Read the Yaml file
const data = fs.readFileSync('input_file.yml', 'utf8');

//Convert Yml object to JSON
const yamlData = yaml.load(data);

//Write JSON to Yml
const jsonData = JSON.stringify(yamlData);
fs.writeFileSync('input_file.json', jsonData, 'utf8');

[demo title1=”YAML to JSON example in Node.js” url1=”http://hayageek.com/examples/nodejs/yaml-to-json/index.php?tab=1″%5D

2.1. JSON to Yaml example

Use yaml.dump() method to convert JSON to Yaml. Below is the complete code.

//Load the package
const yaml = require('js-yaml');
const fs = require('fs');

//Read the JSON file
const data = fs.readFileSync('input_file.json', 'utf8');
const jsonData = JSON.parse(data);

//Convert JSON to Yaml
const yamlData = yaml.dump(jsonData);

//Save to file
fs.writeFileSync('path/to/your/yaml/file.yml', yamlData, 'utf8');

[demo title1=”JSON to Yaml example in Node.js” url1=”http://hayageek.com/examples/nodejs/yaml-to-json/index.php?tab=2″%5D

 

3.How to use yaml package

Install the yaml package by running the following command in your terminal:

npm install yaml

3.1. Yaml to JSON example

To convert Yaml to JSON object, use the yaml.parse method, Below is the complete code.

//Load package
const yaml = require('yaml');
const fs = require('fs');

//Read file and convert to JSON
const obj = yaml.parse(fs.readFileSync('input_file.yaml', 'utf8'));

console.log(obj);

[demo title1=”Yaml to JSON example in Node.js” url1=”http://hayageek.com/examples/nodejs/yaml-to-json/index.php?tab=3″%5D

 

3.1. JSON to Yaml example

To convert JSON to YAML,  use the yaml.stringify method: Below is the complete code

//Load the package
const yaml = require('yaml');
const fs = require('fs');

//Read the JSON file
const data = fs.readFileSync('input_file.json', 'utf8');
const jsonData = JSON.parse(data);

//Convert JSON to Yaml
const yamlData = yaml.stringify(jsonData);

//Save to file
fs.writeFileSync('path/to/your/yaml/file.yml', yamlData, 'utf8');

[demo title1=”JSON to Yaml example in Node.js” url1=”http://hayageek.com/examples/nodejs/yaml-to-json/index.php?tab=4″%5D

4.Conclusion

In summary, if you need a JavaScript-based YAML parser and emitter with good flexibility and community support, js-yaml is a good choice. If you need maximum performance and efficiency for large documents in Node.js, yaml is a good choice.

Below is the comparison of  trends https://npmtrends.com/js-yaml-vs-yaml

Yaml to JSON in Node.js