json-align
This module provides a function and a command-line script that pretty-print JSON strings with consecutive values aligned at the same column for improved readability.
Before:
"name": "json-align" "author": "James Nylen <jnylen@gmail.com>" "description": "Library and script to pretty-print JSON files with values aligned together." "version": "..." "repository": "type": "git" "url": "https://github.com/nylen/node-json-align" ...
After:
"name" : "json-align" "author" : "James Nylen <jnylen@gmail.com>" "description" : "Library and script to pretty-print JSON files with values aligned together." "version" : "..." "repository" : "type" : "git" "url" : "https://github.com/nylen/node-json-align" ...
Based on Douglas Crockford's json2.js
.
Usage
In code (first do npm install json-align
):
JSON.stringifyAligned = require('json-align');
On the command line (first do sudo npm install -g json-align
):
json-align --help
The command-line script will output to stdout unless the -i
/--in-place
option is given.
Parameters
JSON.stringifyAligned(obj, [replacer], [spaces], [alignAllValues])
// or
JSON.stringifyAligned(obj, alignAllValues, [spaces])
replacer
: Like inJSON.stringify
, this is a value transformation function, or an array of properties to serialize.spaces
: Like inJSON.stringify
, a number of spaces (or string) to indent by (the default is 4)alignAllValues
: By default, a new alignment group will be started each time an array or object value is encountered. If this option is set totrue
, then each object will have all of its values aligned together.
Examples
JSON "abc" : 1 "defgh" : 2
JSON "abc" : 1 "defgh" : 2 3 4 "ijk" : 5 // Note that this value is not aligned with the first two, // since there is an array or object value before it.
JSON "abc" : 1 "defgh" : 2 3 4 "ijk" : 5