我试图从API获取json。 响应有一些非英语字符,所以我用utf-8编码响应。
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Content-Type", "application/json; charset=utf-8");
next();
});
我得到了一些奇怪的角色。
这是我检索数据的方式:
var reqObj = http.get( url, function(res) {
var oj= '';
res.on('data', function(chunk) {
oj += chunk;
});
res.on('end', function() {
console.log(oj); // output = '??{"title": " ????? ????? ????? "}'
JSON.parse(oj); // parsing failed - unexpected token ?
});
如果我在utf-8中解码响应,为什么我会得到奇怪的字符json和json本身? 这导致解析为json失败。 解决这个问题的任何想法?