首页 > 解决方案 > 如何在 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 格式获取数据,但我得到的是一个缓冲区或只是数字。我想我没有正确理解一些概念。

标签: node.jsreadfilefs

解决方案


你想要做的是像这样指定编码:

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
    })

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


推荐阅读