Nodejs,Request和Dot表示法

时间:2017-10-17 14:50:58

标签: javascript node.js node-modules

我试图通过他们的API获得Facebook用户的名字。 这是我的代码

  var user = request("https://graph.facebook.com/v2.6/"+psid+"?fields=first_name,last_name&access_token="+token, function(err, res, body) {  
    console.log("name: " + body.first_name);
    console.log("body: " + body);
  });

结果如下:

name: undefined
body: {"first_name":"Anton","last_name":"Rosato"}

为什么名称未定义?

2 个答案:

答案 0 :(得分:1)

它是未定义的,因为body是一个字符串。在尝试读取first_name之前强制转换body = JSON.parse(body)

答案 1 :(得分:1)

您可以关注@yBrodsky建议或将选项对象添加到请求中 {json:true}。这将自动将“Content-type:application / json”添加到您的请求中并以json的形式解析响应。

reqeust.get(url, {json:true}, callbalck)

https://www.npmjs.com/package/request#requestoptions-callback