Javascript Nodejs、请求和点表示法

Javascript Nodejs、请求和点表示法,javascript,node.js,node-modules,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: "

我试图通过他们的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"}

为什么名称未定义?

它未定义,因为主体是字符串。请在尝试读取第一个\u名称之前强制转换body=JSON.parse(body)。

由于body是字符串,因此未定义。在尝试读取第一个\u名称之前,请强制转换
body=JSON.parse(body)

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

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

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

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

console.log(“Body type:+typeof Body)给了你什么?console.log(“Body type:+typeof Body)给了你什么?我不确定,请查看RidgeA的答案。不确定是否在正文中得到json响应。@xRobot:
body
是json。需要对其进行解析才能访问数据。我不确定,请检查RidgeA答案。不确定是否在正文中得到json响应。@xRobot:
body
是json。需要对其进行解析才能访问数据。