Search code examples
pythonjsonpython-3.xaddition

How can I add an item in a list from a JSON file in Python?


I'm working with a JSON file and I was wondering if there's a way to append a string to a list within the file. Here's an example of the JSON file I'm working with:

{"language": "['English', 'French']", "bank": 50}

I want to add the string "Spanish" to the "language" list. How can I do this?

Here's the code I've written so far, but I'm not sure how to modify it to achieve what I want:

import json

with open("example.json", "r") as jsonFile:
    data = json.load(jsonFile)

add list(data["language"]['Spanish'])

with open("example.json", "w") as jsonFile:
    json.dump(data, jsonFile)

How can I modify this code to achieve my goal?


Solution

  • {"language": "['English', 'French']", "bank": 50}

    Here the "language" keys hold a string rather than a list because of the " before [ and " after ]. To solve this, change the file to this:

    {"language": ["English", "French"], "bank": 50}

    Then use this code to append "Spanish" or any language from now on:

    import json
    
    with open("temp.json", "r") as f:
        data = json.load(f)
    
    data["language"].append("Spanish")
    
    with open("temp.json", "w") as f:
        json.dump(data, f)