How to Write Data to a JSON File using Python

Here are 3 ways to write data to a json file using Python:

(1) Single dictionary to a json file:

import json

data = {
    "product": "Computer",
    "price": 1300,
    "brand": "A"
}

file_path = r"path to save the json file\file_name.json"

with open(file_path, "w") as file:
    json.dump(data, file, indent=4)

Where:

  • “w” stands for a write mode
  • json.dump() writes the data to a json file with a specified indentation for readability

The resulted json file:

{
"product": "Computer",
"price": 1300,
"brand": "A"
}

(2) Single dictionary of keys, and values consisting of lists of multiple entries:

import json

data = {
    "product": ["Computer", "Printer", "Tablet"],
    "price": [1300, 150, 400],
    "brand": ["A", "B", "C"]
}

file_path = r"path to save the json file\file_name.json"

with open(file_path, "w") as file:
    json.dump(data, file, indent=4)

The result:

{
"product": [
"Computer",
"Printer",
"Tablet"
],
"price": [
1300,
150,
400
],
"brand": [
"A",
"B",
"C"
]
}

(3) List of dictionaries containing multiple entries:

import json

data = [
    {
        "product": "Computer",
        "price": 1300,
        "brand": "A"
    },
    {
        "product": "Printer",
        "price": 150,
        "brand": "B"
    },
    {
        "product": "Tablet",
        "price": 400,
        "brand": "C"
    }
]

file_path = r"path to save the json file\file_name.json"

with open(file_path, "w") as file:
    json.dump(data, file, indent=4)

The result:

[
{
"product": "Computer",
"price": 1300,
"brand": "A"
},
{
"product": "Printer",
"price": 150,
"brand": "B"
},
{
"product": "Tablet",
"price": 400,
"brand": "C"
}
]