如何删除JSON对象中answers数组内等于'-'的元素
如何删除JSON中answers数组里的
"-"元素 方法一:手动修改(适合数据量小的场景)
直接打开你的JSON文件,定位到每个answers数组里值为"-"的行,删掉对应行即可。注意JSON语法:数组最后一个元素后面尽量不要留逗号(虽然部分工具兼容末尾逗号,但严格规范下建议删除多余逗号)。
方法二:在线工具处理(无需写代码)
找一个支持JSON编辑和脚本运行的在线工具(比如JSONFormatter类工具),按以下步骤操作:
- 将原始JSON代码全选粘贴到工具的输入区
- 在工具的控制台/代码输入框中粘贴这段代码(记得把
你的原始JSON内容替换成你自己的JSON数据):
const originalData = 你的原始JSON内容; originalData.questions.forEach(q => { q.answers = q.answers.filter(item => item !== "-"); }); console.log(JSON.stringify(originalData, null, 2));
- 运行代码后,复制控制台输出的结果就是处理好的JSON。
方法三:本地Node.js脚本处理(适合大量数据批量操作)
如果你的电脑安装了Node.js,可以用脚本快速处理:
- 将原始JSON保存为
input.json文件 - 新建
clean.js文件,内容如下:
const fs = require('fs'); // 读取原始JSON文件 fs.readFile('input.json', 'utf8', (err, rawData) => { if (err) { console.log('读文件出错了:', err); return; } // 解析JSON数据 const quizData = JSON.parse(rawData); // 过滤每个问题的answers数组 quizData.questions.forEach(question => { question.answers = question.answers.filter(ans => ans !== '-'); }); // 将处理好的数据写入新文件 fs.writeFile('output.json', JSON.stringify(quizData, null, 2), 'utf8', err => { if (err) { console.log('写文件出错了:', err); return; } console.log('搞定!处理好的结果保存在output.json里'); }); });
- 打开命令行,进入两个文件所在的目录,运行
node clean.js,就能得到处理完成的output.json。
处理后的最终JSON
{ "questions": [ { "id": 1, "quizId": 1, "question": "Какому автомобилю разрешается остановка в зоне действия этих знаков?", "correctAnswer": 4, "image": "1.jpg", "answers": [ "Красному.", "Обоим автомобилю.", "Ни одному.", "Ни одному.", "Желтому, обозначенному опознавательным знаком \"Инвалид\"." ] }, { "id": 2, "quizId": 1, "question": "По каким направлениям из числа обозначенных стрелками разрешается движение?", "correctAnswer": 4, "image": "2.jpg", "answers": [ "Только по направлению А.", "Только по направлению Б.", "Только по направлению В." ] } ] }
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

