0.1.0 • Published 9 years ago
@touched/json-stringify-dense-pretty v0.1.0
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
0.1.0
9 years ago