The json
module already implements some basic pretty printing with the indent
parameter that specifies how many spaces to indent by:
>>> import json >>> >>> your_json = '["foo", {"bar":["baz", null, 1.0, 2]}]' >>> parsed = json.loads(your_json) >>> print(json.dumps(parsed, indent=4, sort_keys=True)) [ "foo", { "bar": [ "baz", null, 1.0, 2 ] } ]
To parse a file, use json.load()
:
with open('filename.txt', 'r') as handle: parsed = json.load(handle)