@ruanyl
我花点时间来回答一下你,混社区这么久没进前十也是一个十一,作为一个node一线老兵,遇到一个不容易
console.log(JSON.parse(body));
请问你实践过嘛?
我把代码给你:
var request = require('request');
request({url:'http://zhuanlan.zhihu.com/api/columns/bigertech/posts/19885746',gzip:true}, function (err,response,body) {
console.log(JSON.parse(body));
});
你难道看不到错误吗?
我们现在讨论的是在node下面来访问zhihu的这个接口,LZ希望直接看到我给出的答案的这个方式,直接是没有任何编码的正常的JSON,{json太大,有兴趣的CNoder可以使用以下我的方案看看}
var request = require('superagent');
request
.get('http://zhuanlan.zhihu.com/api/columns/bigertech/posts/19885746')
.end(function(res){
console.log(res.body);
});
而不是编码后的,如果你用request的gzip,那输出的body,我按照你的方式加了JSON.parse这样的,有用吗?
至于你说的:
你用浏览器能看到正常文本可能是因为你装了JSON Formatter一类的插件,不然你看到还是unicode。
这个和我的回答没有任何关系啊,亲,看看我们的场景~
你应该想的是当你在node下
var request = require('request');
request({url:'http://zhuanlan.zhihu.com/api/columns/bigertech/posts/19885746',gzip:true}, function (err,response,body) {
//这个body的转码问题?如何转?
});
当然你可能觉得我提供的方案并不是最佳的,因为很简单,我就是换了一个工具包-superagent,哈哈
我的观点是:希望回答至少是实践过的,并不是针对任何人,我也鼓励大伙踊跃帮助提问的人