Search code examples
pythonjsonformattingpretty-print

How to prettyprint a JSON file?


How do I pretty-print a JSON file in Python?


Solution

  • Use the indent= parameter of json.dump() or json.dumps() to specify 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))
    [
        "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)