【问题标题】:Express: sending JSON file as a responseExpress:发送 JSON 文件作为响应
【发布时间】:2017-08-16 06:17:01
【问题描述】:

我是新来表达的。我已经使用快速生成器制作了一个带有快速后端的简单反应前端,目前,这是我发送 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;

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

【问题讨论】:

标签: json express


【解决方案1】:

你可以这样做:

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


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

  res.json(hoteljsonFile);
});

【讨论】:

    【解决方案2】:

    尝试在您的代码中读取 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);
    });
    

    【讨论】:

    • 这是一个更好的答案恕我直言
    • 但这只是发送文本,它不会以 JSON 格式发送数据,即使您设置了Content-Type: application/json。你如何将它作为 JSON 而不是文本发送?
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 2017-12-21
    • 2012-04-20
    • 2021-01-17
    • 2014-12-08
    • 2019-05-14
    • 2019-03-10
    • 2012-06-12
    相关资源
    最近更新 更多