jp is a command line tool that reformats JSON to make it easier to read:
$ cat names.json
{"names":["Alice","Bob"]}
$ jp names.json
{
"names": [
"Alice",
"Bob"
]
}
It only adds and removes whitespace, which means that your data won’t get
silently altered. For example, "\u2603"
won’t get converted to "☃"
, and
1.1e1
won’t turn into 11
. The ordering remains the same, and invalid JSON
can be reformatted (within reason). This stuff shouldn’t matter, but people make mistakes even with a well defined format like JSON, and accurate tools are important when you’re trying to work out what’s gone wrong.
It’s also ridiculously fast because it reformats the data without decoding then reencoding it.
You can install jp on macOS Using Homebrew:
brew install paulhammond/tap/jp
If you don't use Homebrew you can download a precompiled binary and
copy the jp
file inside to somewhere in your path.
The source code is available if you’d prefer to compile it yourself.
To prettify a JSON file:
jp data.json
To prettify from stdin, use -
as the filename:
curl -sL https://phmmnd.me/names.json | jp -
To compact a JSON file:
jp --compact data.json