通过在python中添加新属性更新json对象

通过在python中添加新属性更新json对象,python,json,Python,Json,我不熟悉python和json文件,我有一个json文件,它只有一个属性,我想通过添加一个新属性来更新文件中的每个对象,我的json文件如下所示: [ {"marka": "تويوتا"}, {"marka": "شيفروليه"}, {"marka": "نيسان"} ] 我希望它是这样的: [ {"marka": "تويوتا" , "tag" : "MANF"}, {"marka": "شيفروليه" , "tag" : "MANF"}, {"marka": "نيسان"

我不熟悉python和json文件,我有一个json文件,它只有一个属性,我想通过添加一个新属性来更新文件中的每个对象,我的json文件如下所示:

[
{"marka": "تويوتا"},
{"marka": "شيفروليه"},
{"marka": "نيسان"}
]
我希望它是这样的:

[
{"marka": "تويوتا" , "tag" : "MANF"},
{"marka": "شيفروليه" , "tag" : "MANF"},
{"marka": "نيسان" , "tag" : "MANF"}
]
我尝试了此代码,但它给了我一个错误:

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

tmp = data["tag"]
data["tag"] = "MANF"

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

我遇到的错误是TypeError:列表索引必须是整数,而不是str。您的JSON文件包含一个字典列表,要从数据列表中更新每个dict,您可以使用:

for d in data:
    d['tag'] = "MANF"
然后,您可以将数据转储到文件:

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

您的JSON文件包含一个字典列表,要从数据列表中更新每个dict,您可以使用:

for d in data:
    d['tag'] = "MANF"
然后,您可以将数据转储到文件:

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

您的JSON是Python语言中的字典列表,每个字典都包含“tag”元素,因此您需要迭代这些列表项并将新值分配给这个“tag”键:


您的JSON是Python语言中的字典列表,每个字典都包含“tag”元素,因此您需要迭代这些列表项并将新值分配给这个“tag”键:

您的错误在这里:您的数据结构是一个对象字典的数组列表,您访问时跳过了数组列表

后期编辑以反映Python和JSON之间不同的术语选择

您的错误在这里:您的数据结构是一个对象字典的数组列表,您访问时跳过了数组列表

后期编辑以反映Python和JSON之间不同的术语选择

for tmp in data:
 tmp["tag"] = "MANF"


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