如何通过Notepad正则或JS删除JSON数组的_id字段及多余逗号
批量移除JSON数组中
_id字段的实现方案 方法1:Notepad++ 正则替换(本地文件快速操作)
适合_id字段固定在每个对象首位的场景(和你给出的示例结构一致),操作步骤:
- 打开目标JSON文件,按
Ctrl+H调出替换面板 - 查找模式选择正则表达式,取消勾选「.匹配换行」
- 查找内容填入:
\s*"_id":\s*\{\s*"\$oid":"[a-f0-9]+"\s*\},?\s* - 替换为内容留空,点击「全部替换」即可
注意:操作前务必备份原文件。如果
_id可能出现在对象的末尾位置,不要用正则方案,避免残留多余逗号导致JSON格式损坏,优先选下面的JS方法。
方法2:JavaScript 处理(100%兼容所有结构,无格式错误)
直接解析JSON结构操作字段,完全不用考虑逗号、换行、字段位置问题,是最稳妥的方案:
// 替换成你自己的JSON字符串,Node环境下也可以用fs模块读取本地JSON文件 const rawJson = `[ { "_id":{ "$oid":"61d6633647ea79714d89fc9c" }, "name":"test" }, { "_id":{ "$oid":"61d6633647ea79714d124124214" }, "name":"test2" } ]`; // 解析后遍历删除_id字段 const dataList = JSON.parse(rawJson); dataList.forEach(item => delete item._id); // 输出格式化后的合法JSON,缩进为2空格 const cleanJson = JSON.stringify(dataList, null, 2); console.log(cleanJson);
运行后输出的结果就是完全移除_id字段的标准JSON,不会出现任何多余逗号、格式错误问题。
内容的提问来源于stack exchange,提问作者daph111
相关产品推荐
相关产品推荐

