要将 JSON 文件中所有的繁体中文改成简体,可以使用 Python 中的 opencc 模块和 json 模块。具体步骤如下:
导入 opencc 和 json 模块:
import opencc
import json
创建一个 OpenCC 对象,用于繁简体转换:
cc = opencc.OpenCC('t2s')
打开 JSON 文件,读取其中的内容:
with open('filename.json', 'r', encoding='utf-8') as f:
data = json.load(f)
遍历 JSON 数据,将其中的繁体中文转换为简体中文:
def convert_dict(data):
if isinstance(data, dict):
for key in data.keys():
data[key] = convert_dict(data[key])
elif isinstance(data, list):
for i in range(len(data)):
data[i] = convert_dict(data[i])
elif isinstance(data, str):
data = cc.convert(data)
return data
data = convert_dict(data)
在这个过程中,我们定义了一个递归函数 convert_dict(),它会遍历 JSON 数据的每个键值对,如果遇到字符串类型的值就将其转换为简体中文。
将转换后的数据写回到 JSON 文件中:
with open('filename.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
完整的代码如下:
```sql
import opencc
import json
cc = opencc.OpenCC('t2s')
def convert_dict(data):
if isinstance(data, dict):
for key in data.keys():
data[key] = convert_dict(data[key])
elif isinstance(data, list):
for i in range(len(data)):
data[i] = convert_dict(data[i])
elif isinstance(data, str):
data = cc.convert(data)
return data
with open('filename.json', 'r', encoding='utf-8') as f:
data = json.load(f)
data = convert_dict(data)
with open('filename.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
其中,filename.json 是需要转换的 JSON 文件的名称,需要根据实际情况进行修改。