如何读取Node.js中的文件内容并将数据转换为JSON?

如何读取Node.js中的文件内容并将数据转换为JSON?,node.js,readfile,fs,Node.js,Readfile,Fs,我试图用Node.js从.json文件发送数据作为响应。我对它很陌生,我不知道如何处理缓冲区 这就是我所做的: const express = require('express'); const fs = require('fs'); const path = require('path'); const bodyParser = require('body-parser'); const app = express(); const port = 3000; app.use(bodyP

我试图用Node.js从.json文件发送数据作为响应。我对它很陌生,我不知道如何处理缓冲区

这就是我所做的:

const express = require('express');
const fs = require('fs');

const path = require('path');
const bodyParser = require('body-parser');

const app = express();

const port = 3000;

app.use(bodyParser.urlencoded({extended: false}));

app.use('/', (req, res, next) => {
    fs.readFile(path.join(__dirname, 'data', 'filename.json'), (err, content) => {
        res.send(JSON.stringify(content));
    })
});

app.listen(port, () => {
    console.log(`server is running on port: ${port}`)
});

我希望得到JSON格式的数据,但我得到的只是一个缓冲区或数字。我想我没有正确理解一些概念。

您要做的是指定如下编码:

fs.readFile(path.join('data','filename.json'),'utf8',(err,content)=>{
res.setHeader('Content-Type','application/json');
res.send(content);//内容将是一个字符串
})

否则,根据,您将获得缓冲区。

将缓冲区保存到一个变量中,然后使用
toString()
方法和adter,即
JSON.parse

当我尝试在.toString()之后使用JSON.parse()时,我在JSON的位置0处收到一个错误“SyntaxError:Unexpected token]。为什么呢?我检查了,该文件包含有效的JSON。