Append to JSON file using Python



Append to JSON file using Python

The full form of JSON is JavaScript Object Notation. It means that a script (executable) file which is made of text in a programming language, is used to store and transfer the data. Python supports JSON through a built-in package called JSON. To use this feature, we import the JSON package in Python script. The text in JSON is done through quoted-string which contains the value in key-value mapping within { }.

Functions Used:

  • json.loads(): json.loads() function is present in python built-in ‘json’ module. This function is used to parse the JSON string.

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

 

  • json.dumps(): json.dumps() function is present in python built-in ‘json’ module. This function is used to convert Python object into JSON string.

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

 

  • update(): This method updates the dictionary with elements from another dictionary object or from an iterable key/value pair.

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 program to update
# JSON
import json
 
# JSON data:
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:

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

Example 2: Updating a JSON 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 program to update
# JSON
import json
# function to add to JSON
def write_json(new_data, filename='data.json'):
    with open(filename,'r+') as file:
          # First we load existing data into a dict.
        file_data = json.load(file)
        # Join new_data with file_data inside emp_details
        file_data["emp_details"].append(new_data)
        # Sets file's current position at offset.
        file.seek(0)
        # convert back to json.
        json.dump(file_data, file, indent = 4)
    # python object to be appended
y = {"emp_name":"Nikhil",
     "email": "nikhil@geeksforgeeks.org",
     "job_profile": "Full Time"
    }
    
write_json(y)

Output:
python-append-json

 

 

Last Updated on October 25, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs