如何使用 Python 将 json 字典中的所有键小写

How to lowercase all keys in json dict with Python

我是这个网站的新手所以对我温柔一点,不是同性恋。

我目前正在使用代码练习我的 Python 技能,根据 JSON 字典检查给定的键并为您提供键的定义。 现在我知道我的问题还有其他解决方案,但如果可能的话,我正在尝试专门找出这个解决方案。

我正在尝试将我字典中的所有键都更改为小写,我现在正在尝试这样做:

data = json.load(open("data.json"))

for key in data.keys():
    key = key.lower()

这个词典文件是什么样子的(一键示例):

"act": ["Something done voluntarily by a person, and of such a nature that certain legal consequences attach to it.", "Legal documents, decrees, edicts, laws, judgments, etc.", "To do something.", "To perform a theatrical role."]

显然每个键有多个值,这在尝试其他解决方案时会产生问题。

你可以试试这个,

data = json.load(open("data.json"))
new_data = {key.lower():value for key, value in data.items()}

然后就可以用新数据替换旧数据了。

with open("data.json") as fp:
    json.dump(new_data, fp)

@bumblebee给出的方案是正确的,也是最小的。但是,如果您难以理解字典理解,请参考以下代码(我与@bumblebee 的代码相同)


data = json.load(open("data.json"))
new_data = {}
for key, value in data.items():
    new_data[key.lower()] = value

# any code if you want to add further

with open("data.json") as fp:
    json.dump(new_data, fp)