Use json.loads() function to Append to JSON file in Python. But for JSON files you can append new entries to this list and convert them back to JSON.
with open(DATA_FILENAME, mode='w', encoding='utf-8') as feedsjson:
entry = {'name': args.name, 'url': args.url}
feeds.append(entry)
json.dump(feeds, feedsjson)
Append to JSON file Python
Simple example code.
import json
def write_json(new_data, filename='data.json'):
with open(filename, 'r+') as file:
file_data = list(json.load(file))
file_data.append(new_data)
# file_data["emp_details"].append(new_data)
file.seek(0)
json.dump(file_data, file, indent=4)
z = {'pin': 11001}
write_json(z)
Output:
Updating a JSON string
import json
data = '{ "ORG":"EyeHunts","city":"BLR","C":"India"}'
# python object to be appended
add = {"pin": 56001}
# parsing JSON string:
res = json.loads(data)
# appending the data
res.update(add)
# the result is a JSON string:
print(json.dumps(res))
Output: {“ORG”: “EyeHunts”, “city”: “BLR”, “C”: “India”, “pin”: 56001}
How to check if JSON is empty, If not, append new data
Answer: First check whether a JSON file is empty or not then allow append any content and then write them back. Make sure that the file itself exists, otherwise ‘FileNotFoundError’ will occur.
import json
with open("fileName.json", "r+") as f:
try:
json_data = json.load(f)
appendInfo(json_data)
f.seek(0)
json.dump(json_data, f)
except ValueError:
print("Empty File!")
Do comment if you have any doubts or suggestions so on this Python file topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.