Home > other >  Add JSON to a file
Add JSON to a file

Time:12-15

I have this python code:

import json
def write_json(new_data, filename='test.json'):
    with open(filename,'r ') as file:
        file_data = json.load(file)
        file_data.append(new_data)
        file.seek(0)
        json.dump(file_data, file, indent = 4)
e = {
    "1": [
    {
        "id": "df8ec0tdrhseragerse4-a3e0-8aa2da5119d3",
        "name": "Deezomiro"
    }
    ]
}
write_json(e)

Which should add this json to the end of the current test.json file. However, when I run it I get this error.

Traceback (most recent call last):
  File "C:\Users\ArtyF\AppData\Roaming\Microsoft\Windows\Network Shortcuts\HWMonitor\copenheimer\test.py", line 16, in <module>
    write_json(e)
  File "C:\Users\ArtyF\AppData\Roaming\Microsoft\Windows\Network Shortcuts\HWMonitor\copenheimer\test.py", line 5, in write_json
    file_data.append(new_data)
AttributeError: 'dict' object has no attribute 'append'

How can I make this code add this json to the end of the file?

CodePudding user response:

As the error says, dictionaries don't have append. They do have update.

file_data.update(new_data)
# TODO: dump file_data back to file
  • Related