直接上代码吧
def lower_json(json_info):
if isinstance(json_info,dict):
for key in list(json_info.keys()):
if key.islower():
lower_json(json_info[key])
else:
key_lower = key.lower()
json_info[key_lower] = json_info[key]
del json_info[key]
lower_json(json_info[key_lower])
elif isinstance(json_info,list):
for item in json_info:
lower_json(item)
测试如下
if __name__ == '__main__':
test = {
"mappings": {
"MY_type": {
"Properties": '123'
}
}
}
json_info = json.loads(json_txt)
lower_json(json_info)
print(json_info)
结果
{"mappings": {"my_type": {"properties": "123"}}}
可以看到递归遍历的过程中把所有的key全部转化为小写了