node.js - 如何在 Node.js 中读取文件内容并将数据转换为 JSON?
问题描述
我正在尝试从 .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 格式获取数据,但我得到的是一个缓冲区或只是数字。我想我没有正确理解一些概念。
解决方案
你想要做的是像这样指定编码:
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
})
否则根据文档,您将获得缓冲区。
推荐阅读
- python - 为什么 nn.Conv1d 对二维特征 [b, c, h, w] 起作用?
- javascript - Array.filter() 从数组中删除所有元素...有时
- react-native - 反应 setState 以更新嵌套对象的字段
- python - Django注册用户
- reactjs - 链接不能在 nextjs 中使用
- ruby-on-rails - 在使用 assert_select 的 Rails 6 集成测试中找不到特定的表行 - 总是找到标题行
- c++ - 带有最终或模板的静态多态性?
- excel - VBA Excel试图使列“非常隐藏”
- python-3.x - 我无法打开形状文件,出现错误
- excel - 有没有办法将任意数量的单元格分组到一个表格中?