0.1.0 • Published 11 years ago
json-align v0.1.0
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 --helpThe 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.stringifyAligned({abc: 1, defgh: 2})
{
"abc" : 1,
"defgh" : 2
}JSON.stringifyAligned({abc: 1, defgh: [2,3,4], ijk: 5})
{
"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.stringifyAligned({abc: 1, defgh: [2,3,4], ijk: 5}, null, 2, true)
{
"abc" : 1,
"defgh" : [
2,
3,
4
],
"ijk" : 5
}