不使用此模块的json方法。在变量中加载数据。然后迭代cars键/值。如果找到要查找的值的键,请将其设置为新值。在
另请注意:您需要关闭数组块,否则上面的json无效。通常我使用在线json解析器来检查我的数据是否有效等等(将来可能会有帮助)。在data = {
"name":"John",
"age":30,
"cars":
[
{
"car_model": "Mustang",
"car_brand": "Ford"
},
{
"car_model": "cx-5",
"car_brand": "Mazda"
}
]
}
for cars in data['cars']:
for key, value in cars.items():
if key == "car_model" and value == "cx-5":
cars[key] = "cx-9"
print(data)
如果要从文件加载json对象,假设它名为“数据.json“与要运行的python脚本位于同一目录中:
^{pr2}$
现在,如果您想将内容写入原始文件或新文件,在本例中,我将写入一个名为新数据.json“:import json
import re
with open('data.json') as json_data:
data = json.load(json_data)
print(data)
with open('external.txt') as f:
content = f.read()
print(content)
for cars in data['cars']:
for key, value in cars.items():
if key == "car_model" and value == "cx-5":
cars[key] = content
with open('newdata.json', 'w') as outfile:
json.dump(data, outfile)