Express – 处理json响应

我有两个节点服务器(A + B),都使用Expressjs。

从一个我使用请求( https://github.com/mikeal/request )做一个GET请求到另一个:

//A server app.get('/:id', function(req, res) { request('http://localhost:8080/api/' + req.params.id, function (error, response, body) { console.log(body); }) }); 

另一个是:

 //B server app.get('/api/:id', function(req, res) { res.json(200, {url: "http://www.google.co.uk"}); }); 

正如你所看到的,A正在向B发出请求,而B则返回一个JSON结果。 然而,我不知道如何处理console.log(body)console.log(body)打印完整的JSON,但我怎样才能访问从B发送的url?

我已经尝试body.url但没有运气

JSON结果是一个string。 您必须先通过JSON.parseparsing它,然后才能像访问对象一样访问它:

 var url = JSON.parse(body).url;