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