【发布时间】:2018-10-09 08:56:42
【问题描述】:
我有一个字符串,不是一个对象,什么都没有,但是我需要获取该数据,而我能够获取该数据的唯一方法是使用内置节点的 FS 对 readFile 数据执行 JSON.parse模块。
fs.readdir('./Names', (err, files) => {
files.forEach(file => {
fs.readFile(`./Names/${file}`, (err, data) => {
if (err) throw err;
var string = JSON.parse(data)
console.log(string)
})
});
})
这是我现在的代码。我有正确的所有数据,简要说明 fs.readdir 获取所有文件的名称,然后读取它们,但我在读取文件时遇到问题,因为它们不是对象,而且很难在没有脚本的情况下一次将大量 .txt 文件全部转换为对象,这会导致此问题。
有没有其他方法可以将对象的数据部分(NodeJS/JS 中的缓冲区)转换回可读的字符串?
【问题讨论】:
-
包含文件的内容会有所帮助,但错误很明显,您没有解析 JSON。当您未指定编码时,
fs.readFile()将在data中返回一个缓冲区,但如果您想要一个字符串,您可以指定编码(可能是utf8)或调用data.toString('utf8')
标签: javascript json node.js parsing fs