在python中附加到JSON中

时间:2015-01-16 16:28:34

标签: python json

我有一个JSON文件,其中包含人名,并列出了子文件。

people.json:

{
    "person": [
        {
            "Id": 0,
            "firstName": "Bob",
            "lastName": "Bruce",
            "children": [
                {
                    "Id": 0,
                    "Name": "Phil",
                },
                {
                    "Id": 1,
                    "Name": "Dave",
                }
            ]
        },
        {
            "Id": 1,
            "firstName": "Fred",
            "lastName": "Gone",
            "children": [
                {
                    "Id": 0,
                    "Name": "Harry",
                }
            ]
        }
    ]
}

我希望能够将一个孩子添加到一个人身上。我该怎么做呢这是我尝试将一个孩子添加到弗雷德身上。

people.py

import json

json_data = open("people.json")

data = json.load(json_data)

for d in data['person']:
    if d['firstName'] == "Fred":
        d['children'] + [{u'Id': 1, u'Name': u'Rich'}]
        print d['children']

当它打印出来时,它只打印出现有数据而不是我试图添加的数据

2 个答案:

答案 0 :(得分:2)

你的专栏:

d['children'] + [{u'Id': 1, u'Name': u'Rich'}]

实际上并未加入,只是计算它。你可以做到

d['children'].append({u'Id': 1, u'Name': u'Rich'})

答案 1 :(得分:1)

这一行:

d['children'] + [{u'Id': 1, u'Name': u'Rich'}]

什么都不做。

d['children'].append({u'Id': 1, u'Name': u'Rich'})