如何使用Node.js从json文件中读取数据并将读取的数据显示到html中?

我是一个完整的新手,只是做了这样的事情:

var fs = require('fs'); var file = __dirname + '/data.json'; var http = require ('http'); var server = http.createServer(function (req, res){ res.writeHead(200); fs.readFile(file, 'utf8', function (err, data) { if (err) { console.log('Error: ' + err); return; } data = JSON.parse(data); res.end(data); }); }); server.listen(8000); 

当我在做:

  data = JSON.parse(data); console.dir(data); 

代替

  data = JSON.parse(data); res.end(data); 

它能够在控制台上显示我在.json中的数据。 然而,当我试图创build一个服务器,并使用res.end发布数据,它并没有真正的工作。

有人可以提供一些见解吗? 是因为我这里的“数据”只是一个对象? 我应该如何处理我从.json获得的数据以便用于我的html?

http模块不支持Objects作为响应(它支持缓冲区或string),所以你必须这样做:

 res.end(JSON.stringify(data)); 

但如果使用express你可以做到这一点

 res.send(data); 

由于该文件的格式已经正确,因此您可以简单地将其传递给响应。

 var fs = require('fs'); var file = __dirname + '/data.json'; var http = require ('http'); var server = http.createServer(function (req, res){ res.writeHead(200, {'Content-Type': 'application/json'}); fs.createReadStream(file, 'utf8').pipe(res); }); server.listen(8000);