A JSON formatter that produces human-readable but fairly compact output.
- Arrays and objects are written on single lines, if their contents aren't too complex
and the resulting line wouldn't be too long.
- Arrays can be written on multiple lines, with multiple items per line, as long as those
items aren't too complex.
- Otherwise, each object property or array item is written begining on its own line, indented
one step deeper than its parent.