我正在尝试从.json文件发送数据作为对Node.js的响应。我对它很陌生,而且我不知道如何处理缓冲区。
这就是我所做的:
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格式获取数据,但是我得到的是一个Buffer或仅仅是数字。我想我没有弄清楚一些概念。
答案 0 :(得分:0)
您要执行的操作是指定编码,如下所示:
fs.readFile(path.join(__dirname, 'data', 'filename.json'), 'utf8', (err, content) => {
res.setHeader('Content-Type', 'application/json');
res.send(content); // content will be a string
})
否则,根据documentation,您将获得缓冲区。
答案 1 :(得分:0)
将缓冲区保存到变量中,然后使用toString()
方法并添加JSON.parse