Open In App

Append to JSON file using Python

Last Updated : 03 Jul, 2025
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

JSON (JavaScript Object Notation) is a lightweight data format that stores data as key-value pairs within curly braces {}. Python's json module makes it easy to work with JSON data, whether you are parsing JSON strings, converting Python objects to JSON, or appending new data to existing JSON files.

Key Functions in json Module: 

1. json.loads()

Parses a JSON string and returns a Python dictionary.

Syntax: json.loads(json_string)
Parameter: It takes JSON string as the parameter.
Return type: It returns the python dictionary object. 

2. json.dumps()

Converts a Python object to a JSON string.

Syntax: json.dumps(object)
Parameter: It takes Python Object as the parameter.
Return type: It returns the JSON string. 

3. update()

Updates a dictionary with elements from another dictionary or iterable key-value pairs.

Syntax: dict.update([other])
Parameters: Takes another dictionary or an iterable key/value pair.
Return type: Returns None. 

Example 1: Updating a JSON string.

Python
import json

x = '{ "organization":"GeeksForGeeks","city":"Noida","country":"India"}'

# python object to be appended
y = {"pin":110096}

# parsing JSON string:
z = json.loads(x)

# appending the data
z.update(y)

# the result is a JSON string:
print(json.dumps(z))

Output:

{"organization": "GeeksForGeeks", "city": "Noida", "country": "India", "pin": 110096}

Example 2: Updating a JSON file.

The write_json() function reads the existing data, updates it, and then writes the updated data back to the file. Suppose the JSON file looks like this.

python-json

We want to add another JSON data after emp_details. Below is the implementation.

Python
import json

# Function to append new data to JSON file
def write_json(new_data, filename='data.json'):
    with open(filename, 'r+') as file:
        # Load existing data into a dictionary
        file_data = json.load(file)
        
        # Append new data to the 'emp_details' list
        file_data["emp_details"].append(new_data)
        
        # Move the cursor to the beginning of the file
        file.seek(0)
        
        # Write the updated data back to the file
        json.dump(file_data, file, indent=4)

# New data to append
new_employee = {
    "emp_name": "Nikhil",
    "email": "[email protected]",
    "job_profile": "Full Time"
}

# Call the function to append data
write_json(new_employee)

Output:

python-append-json

Next Article
Article Tags :
Practice Tags :

Similar Reads