在Node.js中使用Readability Parser API时:
var request = require("request");
request("https://readability.com/api/content/v1/parser?url=http://www.gq.com/sports/profiles/201202/david-diamante-interview-cigar-lounge-brooklyn-new-jersey-nets?currentPage=all&token=7myToken", function(err, resp, body) {
console.log(body);
});
获得这样的文章表示:
{
"content" <div class=\"article-text\">\n<p>I'm idling outside Diamante's, [snip] ...</p></div>",
"domain": "www.gq.com",
"author": "Rafi Kohan",
"url": "http://www.gq.com/sports/profiles/201202/david-diamante-interview-cigar-lounge-brooklyn-new-jersey-nets?currentPage=all",
"short_url": "http://rdd.me/g3jcb1sr",
"title": "Blowing Smoke with Boxing's Big Voice",
"excerpt": "I'm idling outside Diamante's, a cigar lounge in Fort Greene, waiting for David Diamante, and soon I smell him coming. It's late January but warm. A motorcycle growls down the Brooklyn side street,…",
"direction": "ltr",
"word_count": 2892,
"total_pages": 1,
"date_published": null,
"dek": "Announcer <strong>David Diamante</strong>, the new voice of the New Jersey (soon Brooklyn) Nets, has been calling boxing matches for years. On the side, he owns a cigar lounge in the heart of Brooklyn. We talk with Diamante about his new gig and the fine art of cigars",
"lead_image_url": "http://www.gq.com/images/entertainment/2012/02/david-diamante/diamante-628.jpg",
"next_page_id": null,
"rendered_pages": 1
}
我该如何使用这些数据?例如,只使用“word_count”?看来这段代码不起作用:
console.log(body.word_count);
答案 0 :(得分:1)
您需要使用JSON.parse(body)
将string
结果转换为对象。
var request = require("request");
request('your-url', function(err, resp, body) {
var parsedBody = JSON.parse(body);
console.log(parsedBody.word_count);
});
根据the request
docs,您还可以在选项中将json
设置为true
,以使其自动解析json:
var request = require("request");
request({
url: 'your-url',
json: true
}, function(err, resp, body) {
console.log(body);
});