Javascript Nodejs、请求和点表示法
我试图通过他们的API获取facebook用户的名字。 这是我的密码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: "
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。需要对其进行解析才能访问数据。