Pretty Printing JSON
JSON is everywhere, but reading nested JSON without proper formatting can be a nightmare.
PostgreSQL
The function jsonb_pretty
allows you to pretty print jsonb
data.
\pset format unaligned
SELECT jsonb_pretty('{"name": "Lorenz", "team": {"name": "Team #1", "color", "blue"}}'::jsonb);
{
"name": "Lorenz",
"team": {
"name": "Team #1",
"color": "blue"
}
}
Javascript
If you work with JSON data in Javascript, you surely know the function JSON.stringify
.
But did you know it can prettify your JSON as well?
JSON.stringify({"name": "Lorenz", "games_won": 4, "games_lost": 1}, null, 4)
// number of spaces for indentation ^
{
"name": "Lorenz",
"games_won": 4,
"games_lost": 1
}
Python
Python's json
module adds functions to work with JSON.
>>> import json
>>> print(json.dumps({"players": [{"name": "Lorenz"}, {"name": "Philip"}]}, indent=4))
{
"players": [
{
"name": "Lorenz"
},
{
"name": "Philip"
}
]
}
Command line using Python
You can also directly run the tool exposed by the json
module from the command line:
$ echo '{"name": "Lorenz", "has_eyes": true}' | python3 -m json.tool
{
"name": "Lorenz",
"has_eyes": true
}