我对JS还很陌生,我有一个JSON文件需要发送到我的服务器(Express),然后我可以解析它的内容,并在我构建的Web应用程序中使用它。
这是我现在所拥有的:
- 名为data.json的JSON文件
- 在本地主机上运行的Express服务器设置
- 一些糟糕代码:
app.get('/search', function (req, res) {
res.header("Content-Type",'application/json');
res.send(JSON.stringify({/data.json/}));
});
在上面的代码中,我只是尝试将文件发送到localhost:3000/search并查看我的JSON文件,但当我转到该路径时,收到的只是{}。
任何帮助都将不胜感激。提前感谢。
干杯,西奥
data.json的示例片段:
[{
"name": "Il Brigante",
"rating": "5.0",
"match": "87",
"cuisine": "Italian",
"imageUrl": "/image-0.png"
}, {
"name": "Giardino Doro Ristorante",
"rating": "5.0",
"match": "87",
"cuisine": "Italian",
"imageUrl": "/image-1.png"
}]
5条答案
按热度按时间irlmq6kh1#
只需确保您需要正确的文件作为变量,然后将该变量传递给您的res.send!
另外,我个人更喜欢使用
res.json
,因为它会自动设置标题。编辑:
这种方法的缺点是JSON文件只读入内存一次,如果您不想将文件读入内存,或者您打算在某个时候修改磁盘上的JSON,那么您应该看到Ian's Answer
bkkx9g8r2#
另一个选项是使用
sendFile
并设置内容类型头。代码假设文件和JS代码在同一个目录下,answer解释了这是如何工作的。
2nbm6dog3#
尝试res.json(data.json)而不是res.send(...
2cmtqfgy4#
因为
__dirname
解析为脚本运行的位置,所以我更喜欢使用path.resolve()
vptzau2j5#
先读取文件,然后将JSON发送到客户端。