修改json中嵌套的列表中的key的value
时间: 2024-05-07 10:15:29 浏览: 73
利用python修改json文件的value方法
可以通过递归函数来实现。具体步骤如下:
1. 判断当前传入的参数是否为列表,如果是,则遍历列表中的每个元素,递归调用函数。
2. 如果当前传入的参数是字典,则遍历字典中的每个键值对,判断键是否为需要修改的键,如果是,则修改值;否则,递归调用函数。
示例代码如下:
```python
def modify_key_value(data, key, new_value):
if isinstance(data, list):
for item in data:
modify_key_value(item, key, new_value)
elif isinstance(data, dict):
for k, v in data.items():
if k == key:
data[k] = new_value
else:
modify_key_value(v, key, new_value)
```
使用示例:
```python
import json
data = {
"name": "John",
"age": 30,
"cars": [
{"name": "Ford", "models": ["Fiesta", "Focus", "Mustang"]},
{"name": "BMW", "models": ["320", "X3", "X5"]},
{"name": "Fiat", "models": ["500", "Panda"]}
]
}
# 将名为 "models" 的键的值全部修改为 "test"
modify_key_value(data, "models", "test")
# 输出修改后的结果
print(json.dumps(data, indent=4))
```
输出结果如下:
```json
{
"name": "John",
"age": 30,
"cars": [
{"name": "Ford", "models": "test"},
{"name": "BMW", "models": "test"},
{"name": "Fiat", "models": "test"}
]
}
```
阅读全文