读取JSON文件并将JSON对象附加到JSON数组

2024-04-26 07:57:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个JSON文件名.JSON,包含以下内容

{
    "Name": [{
        "firstName": "John",
        "lastName": "Stark"
    }]
}

使用python如何使用以下列表将Stark家族的成员添加到JSON文件 firstNameList=['Sansa','Arya','Brandon']

预期产量

{
    "Name": [{
            "firstName": "John",
            "lastName": "Stark"
        },
        {
            "firstName": "Sansa",
            "lastName": "Stark"
        },
        {
            "firstName": "Arya",
            "lastName": "Stark"
        },
        {
            "firstName": "Brandon",
            "lastName": "Stark"
        }
    ]
}   

我试过:

firstNameList=['arya', 'sansa','brandon']
import json
with open('/name.json', 'r+') as f:
    data = json.load(f)
    for item in firstNameList:
        Name['firstname']=item  
    f.seek(0)        #reset file position to the beginning.
    json.dump(data, f, indent=4)
    f.truncate()

Tags: namejson列表data文件名firstnameitemjohn
3条回答

下面应该可以做到这一点:

import json 


with open('name.json', 'r+') as f:
    data = json.load(f)

    for name in firstNameList:
        data["Name"].append({"firstName": name, "lastName": "Stark"})
dicts = {
    "Name": [{
            "firstName": "John",
            "lastName": "Stark"
        }
    ]
}

firstNameList = ['Sansa','Arya','Brandon']


for j in firstNameList:
    dicts["Name"].append({'firstName': j, 'lastName': 'Stark'})

print(dicts)

你会得到

{'Name': [{'firstName': 'John', 'lastName': 'Stark'}, {'firstName': 'Sansa', 'lastName': 'Stark'}, {'firstName': 'Arya', 'lastName': 'Stark'}, {'firstName': 'Brandon', 'lastName': 'Stark'}]}

你可以试试这个:

import json
test = '''{
    "Name": [{
        "firstName": "John",
        "lastName": "Stark"
    }]
}'''
data  = json.loads(test)
firstNameList = ['Sansa','Arya','Brandon']
for member in firstNameList:
    test_dict = {'firstName': member, 'lastName': 'Stark'}
    data['Name'].append(test_dict)
dump = json.dumps(data)
print(dump)

这将使用json库解析到字典中,进行更改并转储回json。
输出

{"Name": [{"firstName": "John", "lastName": "Stark"}, {"firstName": "Sansa", "lastName": "Stark"}, {"firstName": "Arya", "lastName": "Stark"}, {"firstName": "Brandon", "lastName": "Stark"}]}

相关问题 更多 >