如何使用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);