Node.js如何将API获取的姓名列表转换为去重JSON数组存储到本地文件
错误点说明
- 你在循环内逐次向文件追加内容,不可能生成合法的数组结构JSON,每次拼接的零散字符串自然不符合要求
- 接口返回的
data数组内的字段是name,不是你代码里写的to_name - 没有做去重逻辑
- 不需要单独对单个名字做
JSON.stringify后拆分再拼接,直接操作数组后一次性序列化即可
修复后代码
const fs = require('fs'); const data = JSON.parse(jsonObjekt); // 提取所有name字段,用Set去重后转回数组 const uniqueNames = [...new Set(data.data.map(item => item.name))]; // 直接将整个数组序列化后写入文件,自动生成符合要求的格式,覆盖已有文件 fs.writeFileSync('names.json', JSON.stringify(uniqueNames, null, 2), { encoding: 'utf8' })
效果说明
生成的names.json完全符合你要求的格式,自动去重,不会有多余的逗号或者错误的结构。
内容的提问来源于stack exchange,提问作者OUD
相关产品推荐
相关产品推荐

