How to Prettyprint a JSON File in Python

Created
Modified

Using json module

The json module already implements some basic pretty printing in the dump and dumps functions, with the indent parameter that specifies how many spaces to indent by:

#!/usr/bin/python3

# Import module
import json

j = '[{"name":"foo", "age":10}]'

parsed = json.loads(j)
pretty = json.dumps(parsed, indent=2, sort_keys=True)
print(pretty)
[
  {
    "age": 10,
    "name": "foo"
  }
]

Using Command Line

You can do this on the command line:

pretty printing
python3 -m json.tool some.json
echo '[{"name":"foo", "age":10}]' | python3 -m json.tool
[
    {
        "name": "foo",
        "age": 10
    }
]

Related Tags