Express:发送 JSON 文件作为响应

Man*_*ena 5 json express

我是新来的表达。我已经使用 express 生成器制作了一个带有 express 后端的简单反应前端,目前,这是我发送 JSON 数据的方式:-

var express = require("express");
var router = express.Router();

router.get("/", function(req, res, next) {
  var jsonData = {"name": "manav"};
  res.json(jsonData);
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

但是如何从 JSON 文件发送数据呢?我尝试在同一目录中创建一个 JSON 文件并像 res.json('./jsonFile'); 一样发送它。但它不起作用。有人可以帮我吗?

小智 8

你可以这样做:

var hoteljsonFile = require("../data/hotel-data.json"); // path of your json file


router.get("/", function(req, res, next) {

  res.json(hoteljsonFile);
});
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试在您的代码中像下面一样读取 json 文件

var fs = require('fs');
var path = require('path')

var usersFilePath = path.join(__dirname, 'users.min.json');
apiRouter.get('/users', function(req, res){
    var readable = fs.createReadStream(usersFilePath);
    readable.pipe(res);
});
Run Code Online (Sandbox Code Playgroud)