Home Code How to pretty print a JSON file in Python?

How to pretty print a JSON file in Python?

Pretty printing makes a json file visually appealing and easy to edit. If you have a JSON file that is compact or not visually appealing, you can easily convert it in Python to a pretty print form.

Pretty Print function in Python

Below is a function that converts any json information into its pretty print version. You can also optionally sort the output by keys or change the pretty print indent size. The function automatically identifies the type of the json data which means you can either pass a json file path, raw json string or a python dictionary, and the function will process it accordingly.

import json

def make_json_pretty(json_info,indent=4,sort=True):

    if type(json_info) is str:         #if json_info is a string
        if json_info.strip()[0]=="{":  #if json_info is raw json data
        else:                          #if json_info is file path
            with open(json_info) as json_file:
                json_data = json.load(json_file)
    elif type(json_info) is dict:      #if json_info is a python dictionary
        json_data = json_info
    else:                              #if json_info is not json data or file path
        raise Exception("first parameter should be JSON file path or JSON data")

    pretty_json = json.dumps(json_data, indent=4, sort_keys=sort)
    return pretty_json

Pretty Print via Command Line in Python 3

Starting from Python 3, you can pretty print a json file right from the command line! See example below.

python3 -m json.tool < path_to_my_json.json

The above command will pretty print the JSON data in the console itself. Instead, if you want to save the pretty print version to another file redirect the output as follows.

python3 -m json.tool < path_to_my_json.json > path_to_pretty.json
Content Protection by DMCA.com
Gurudev is the developer of Gurunudi AI Platform. This is his official website where he pens his thoughts on a wide range of topics, answers queries, shares resources and tools developed by him.


Please enter your comment!
Please enter your name here


Subscribe to HitXP Articles

To be updated with all the latest articles, offers and special announcements.

Latest Articles

Corona Virus, SARS – Why are new viruses increasingly originating from China?

The reason why new strains of deadly viruses are emerging from China. Viruses like coronavirus and SARS should be stopped from evolving and spreading to prevent another global pandemic.

Evolution of life – primitive cells, complex organisms, intelligence, what next after humans?

Evolution of life from primitive life forms to complex multi cellular organisms to intelligent human species - the advent of AI raises a natural question - What next after human?

The individual human is smart, but the human species is dumb

The smart individual human has to clean up the mess created by his dumb species. Species polluted the planet, individuals are cleaning it up.

What if Dinosaurs did not go extinct 65 million years ago?

Imagine a world where dinosaurs did not go extinct, because that asteroid missed colliding with Earth. How would have life evolved then?
Content Protection by DMCA.com