A command-line utility to convert a JSON file (.json) to YAML (.yml)
Go to file
AJ ONeal 1e7d8ecd57 big README revamp 2013-07-27 19:58:44 -07:00
tests added json2yaml 2012-01-30 13:18:18 -07:00
README.md big README revamp 2013-07-27 19:58:44 -07:00
cli.js added json2yaml 2012-01-30 13:18:18 -07:00
example.json added json2yaml 2012-01-30 13:18:18 -07:00
example.yml added json2yaml 2012-01-30 13:18:18 -07:00
index.js add extra newline just to be safe 2012-01-30 17:57:54 -07:00
package.json add extra newline just to be safe 2012-01-30 17:57:54 -07:00
test.sh added json2yaml 2012-01-30 13:18:18 -07:00

README.md

JSON to YAML

The purpose of this utility is to pretty-print JSON in the human-readable YAML object notation (ignore the misnomer, YAML is not a Markup Language at all).

Installation

npm install -g json2yaml

Note: To use npm and json2yaml you must have installed NodeJS.

Usage

Specify a file:

json2yaml ./example.json > ./example.yml

yaml2json ./example.yml | json2yaml > ./example.yml

Or pipe from stdin:

curl -s http://foobar3000.com/echo/echo.json | json2yaml

wget -qO- http://foobar3000.com/echo/echo.json | json2yaml

Or require:

(function () {
  "use strict";

  var YAML = require('json2yaml')
    , ymlText
    ;

    ymlText = YAML.stringify({
      "foo": "bar"
    , "baz": "corge"
    });

    console.log(ymlText);
}());

Example

So, for all the times you want to turn JSON int YAML (YML):

{ "foo": "bar"
, "baz": [
    "qux"
  , "quxx"
  ]
, "corge": null
, "grault": 1
, "garply": true
, "waldo": "false"
, "fred": "undefined"
}

becomes

---
  foo: "bar"
  baz:
    - "qux"
    - "quxx"
  corge: null
  grault: 1
  garply: true
  waldo: "false"
  fred: "undefined"

Note: In fact, both of those Object Notations qualify as YAML because JSON technically is a proper subset of YAML. That is to say that all proper YAML parsers parse proper JSON.

YAML can use either whitespace and dashes or brackets and commas.

For human readability, the whitespace-based YAML is preferrable. For compression and computer readability, the syntax-based YAML is preferrable.