如何反转MIME类型与文件后缀映射的JSON文件结构?
MIME映射结构反转实现方案
你可以通过简单的脚本快速完成800行JSON的结构反转,以下是两种常用编程语言的实现方式:
方案1:Python实现
- 首先将你的原始JSON内容保存为
mime_original.json文件 - 新建
reverse_mime.py脚本,写入以下代码:
import json # 读取原始JSON文件 with open("mime_original.json", "r", encoding="utf-8") as f: original_data = json.load(f) reversed_data = {} for mime_type, suffixes in original_data.items(): for suffix in suffixes: # 若存在同一后缀对应多个MIME的情况,默认保留后遍历到的MIME,可按需调整逻辑 reversed_data[suffix] = mime_type # 输出反转后的JSON文件 with open("mime_reversed.json", "w", encoding="utf-8") as f: json.dump(reversed_data, f, indent=4, ensure_ascii=False)
- 运行脚本
python reverse_mime.py,生成的mime_reversed.json就是符合要求的目标文件。
方案2:Node.js实现
- 首先将你的原始JSON内容保存为
mime_original.json文件 - 新建
reverse_mime.js脚本,写入以下代码:
const fs = require('fs'); // 读取原始JSON文件 const originalData = JSON.parse(fs.readFileSync('mime_original.json', 'utf8')); const reversedData = {}; for (const [mimeType, suffixes] of Object.entries(originalData)) { suffixes.forEach(suffix => { // 若存在同一后缀对应多个MIME的情况,默认保留后遍历到的MIME,可按需调整逻辑 reversedData[suffix] = mimeType; }); } // 输出反转后的JSON文件 fs.writeFileSync('mime_reversed.json', JSON.stringify(reversedData, null, 4), 'utf8');
- 运行脚本
node reverse_mime.js,生成的mime_reversed.json就是符合要求的目标文件。
注意:如果需要保留同一后缀对应的所有MIME类型,只需将赋值逻辑调整为数组存储即可,例如第一次遇到该后缀时初始化空数组,后续将MIME类型push到数组中。
内容的提问来源于stack exchange,提问作者Noah
相关产品推荐
相关产品推荐

