我试图从与我不同的服务器请求Json文件,但我无法设置正确的编码。 我尝试使用HTTP模块但失败了。 现在我尝试使用'请求'模块。 我得到的反应被编码为我不知道是什么。也许utf 16并且根本不可读。 注意:json中有一些希伯来语字符。 我添加了以下内容以尝试修复它但也失败了:
headers: {'Content-Type': 'application/json; charset=utf-8'}
我的代码:
var http = require('http');
var request = require('request');
var express = require('express');
var app = express();
var url = 'http://www.oref.org.il/WarningMessages/alerts.json?v=1';
app.listen(process.env.PORT || 8080);
app.get('/', function(req,res){
res.send("Red color");
});
// get Alerts from web-service
app.get('/getAlerts', function(req,res){
request({
url: url,
json: true,
headers: {'Content-Type': 'application/json; charset=utf-8'}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(response.headers) // Print the json response
res.set({
'content-type': 'application/json'
}).send(body);
}
})
});
答案 0 :(得分:0)
该API会返回UTF-16-LE
中编码的JSON响应,因此您必须告诉request
使用该编码。
但是,由于您正在尝试查询Pikud Haoref的警报API,请在npm上查看pikud-haoref-api
以便为您完成繁重的工作: