我是 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: list indices must be integers, not str
最佳答案
您的 JSON 是一个字典列表(用 Python 来说),每个字典都包含 'tag'
元素,因此您需要迭代这些列表项并将新值分配给此 '标签'
键:
with open("haraj_marka_arabic.json", "r") as jsonFile:
data = json.load(jsonFile)
for d in data:
d["tag"] = "MANF"
with open("haraj_marka_arabic.json", "w") as jsonFile:
json.dump(data, jsonFile)
关于python - 通过在 python 中添加新属性来更新 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207589/