【发布时间】:2019-01-07 22:15:27
【问题描述】:
(变量文件包含 URL .json 文件的数组)。子目录中的一个文件包含:
[ {"name": "John"} ]
然后我得到公共文件 get.json,它包含结构中子目录中的所有文件(是的,我知道它不是有效的 JSON):
[ {"name": "John"} ]
[ {"name": "Sergei"} ]
我想在这个结构中得到这个文件:
[ {name: "John"}, {name: "Sergei"} ]
我的代码
recursive(`${dirPath}`, ['delete.json', 'put.json'], function (err, file) {
const write = fs.createWriteStream(`${dirPath}/get.json`);
file.forEach(item => {
fs.createReadStream(item).pipe(write);
})
write.on('finish', () => {
fs.createReadStream(`${dirPath}/get.json`).pipe(res);
})
});
【问题讨论】:
-
[ {name: "John"}] [ {name: "Sergei"}]不是有效的 JSON。是您的示例数据错误,还是您在问如何解析这种非标准文件格式? -
[ {name: "John"}] [ {name: "Sergei"}]- 你声称这是 JSON ......它甚至不接近 JSON - 如果它是 JSON,它看起来像[[ {"name": "John"}],[ {"name": "Sergei"}]]或[ {"name": "John"}, {"name": "Sergei"} ] -
是的,它不是有效的 JSON。 subbdirectory 中的一个文件包含以下代码:[ { name: "John} ],当我读取所有文件并将它们推送到新的数据时,我得到无效的 JSON。我如何在有效的数组对象中收集所有这些数组?
-
逐行读取: 使用函数
JSON.parse将每个字符串/行解析为js对象,然后获取索引0中的对象,最后将其推入数组。
标签: javascript arrays node.js data-structures javascript-objects