@touched/json-stringify-dense-pretty
v0.1.0
Published
A JSON.stringify that eliminates excessive whitespace
Downloads
3
Readme
json-stringify-dense-pretty
Introduction
The built-in JSON.stringify
function, when configured to pretty print, does not produce very compact output which makes certain structures, like long numeric arrays, very difficult to read.
For example,
JSON.stringify([0, 0, 0, 0], null, 2);
produces
[
0,
0,
0,
0
]
This can be very annoying for long arrays. This alternative function packs as many array elements on one line before creating a new line
import jsonStringify from '@touched/json-stringify-dense-pretty';
jsonStringify([0, 0, 0, 0]);
produces
[0, 0, 0, 0]
However,
// Stringify array of 50 zeroes
jsonStringify([...Array(50)].map(() => 0));
results in
[
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
which is much easier for a human to scan.
Usage
ES6 imports:
import jsonStringify from '@touched/json-stringify-dense-pretty';
Common.js:
const jsonStringify = require('@touched/json-stringify-dense-pretty').default;
Usage
jsonStringify(obj: mixed, options: Options);
Options:
fieldSeparator
: The string that appears between fields.", "
by default.keySeparator
: The string that separates key-value pairs.": "
by default.lineLength
: A guide for how long to make lines. Default is80
.spaces
: The amount of spaces to indent with. Default is2
.
CLI
This library comes with a formatter utility that reads JSON from stdin and prints formatted JSON (using the default options above) on stdout.
Usage: cat data.json | json-format-dense-pretty
License
GPLv3