Adige72
Adige72

Reputation: 177

Altering JSON array using python

This is the way reading from a .json file on ubuntu terminal:

python -c "import json;print json.loads(open('json_file.json', 'r').read())['foo']['bar']"

What I'd like to do is altering the JSON file, adding new objects and arrays. So how to do this in python?

json_file.json:

{
    "data1" :
    [
        {
            "unit" : "Unit_1",
            "value" : "20"
        },
        {
            "unit" : "Unit_2",
            "value" : "10"
        }
    ]
}

Upvotes: 0

Views: 332

Answers (1)

Justin L.
Justin L.

Reputation: 13610

First of all, create a new python file.

import json

data = json.loads(open('json_file.json', 'r').read())

The data is then just a bunch of nested dictionaries and lists.

You can modify it the same way you would modify any python dictionary and list; it shouldn't be hard to find a resource on this as it is one of the most basic python functionalities. You can find a complete reference at the official python documentation, and if you are familiar with arrays/lists and associative arrays/hashes in any language, this should be enough to get you going. If it's not, you can probably find a tutorial and if that doesn't help, if you are able to create a well-formed specific question then you could ask it here.

once you are done, you can put everything back into json:

print json.dumps(data)

For more information on how to customize the output, and about the json module overall, see the documentation.

Upvotes: 2

Related Questions