Facebook API Javascript JSON 响应
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11062007/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Facebook API Javascript JSON response
提问by dominic
function getUser()
{
FB.api('/me', function(response) {
console.log('Response is '+response);
alert('Your name is ' + response.first_name);
alert('Your last name is ' + response.last_name);
alert('Your Gender is ' + response.gender);
alert('Your status is '+response.username);
}
How can I get the entire response like this below printed?
我怎样才能得到像下面这样的整个响应?
{
"id": "blah blah",
"name": "blah blah",
"first_name": "blah blah",
"last_name": "blah blah",
"link": "https://www.facebook.com/blah blah",
"username": "blah blah",
"hometown": {
"id": "106442706060302",
"name": "Pune, Maharashtra"
},
"location": {
"id": "106377336067638",
"name": "Bangalore, India"
},
"bio": "╔══╗? ??\n║██║\n║¨o??\n╚═|???●???|?lιlllι ? I LoVe MuZiK!!\n\n█║▌│█│║▌║│█║▌│║\n? Copyright ? 2012 ?\n█║▌│█│║▌║│█║▌│║\n\nReVoLt",
"gender": "male",
"relationship_status": "Single",
"timezone": 5.5,
"locale": "en_GB",
"verified": true,
"updated_time": "2012-06-15T05:33:31+0000",
"type": "user"
}
Also by respose.name am getting the name of the user. How can I get the location in the parameter location as it is a JSON array?
同样通过 respose.name 我正在获取用户的姓名。我如何获取参数位置中的位置,因为它是一个 JSON 数组?
采纳答案by Eswar Rajesh Pinapala
use JSON.stringify(response); it should print the entire object.
使用 JSON.stringify(response); 它应该打印整个对象。
use JSON.parse() or jQuery.parseJSON(); to parse and get any properties of the response object examples here : jsfiddle.net/epinapala/HrfkL and here : jsfiddle.net/epinapala/zfWWv/3
使用 JSON.parse() 或 jQuery.parseJSON(); 在此处解析并获取响应对象示例的任何属性:jsfiddle.net/epinapala/HrfkL 和此处:jsfiddle.net/epinapala/zfWWv/3
var obj2 = JSON.parse('{"id":"579156356","name":"Vishal Jethani","first_name":"Vishal","last_name":"Jethani","link":"https://www.facebook.com/vishal.jethani","username":"vishal.jethani","hometown":{"id":"106442706060302","name":"Pune, Maharashtra"},"location":{"id":"106377336067638","name":"Bangalore, India"},"bio":"bye bye to bad characters","gender":"male","relationship_status":"Single","timezone":5.5,"locale":"en_GB","verified":true,"updated_time":"2012-06-15T05:33:31+0000","type":"user"}');
alert("Parsing with Json : " + obj2.location.name);?
For multidimensional array as asked by the requester : THis should work : http://jsfiddle.net/epinapala/WQcDg/
对于请求者要求的多维数组:这应该有效:http: //jsfiddle.net/epinapala/WQcDg/
var obj2 = JSON.parse('{"work":[{"employer":{"id":"185998961446429","name":"Pvt Ltd"}}]}');
alert("Parsing with Json : " + JSON.stringify(obj2.work[0].employer.name));
回答by Googlian
Use Jquery get Json method isted using pure javascript,
使用 Jquery get Json 方法使用纯 javascript,
- You need to get Accesstoken
- Replace your access token below the texted YOUR_ACCESS_TOKEN field
- 您需要获取访问令牌
- 在发短信的 YOUR_ACCESS_TOKEN 字段下方替换您的访问令牌
I used this library to get the date formatted, https://github.com/datejs/Datejs
我使用这个库来获取格式化的日期, https://github.com/datejs/Datejs
$.getJSON("https://graph.facebook.com/5973249561/events/?access_token=YOUR_ACCESS_TOKEN&fields=id,name,description,start_time,place,cover,end_time&limit=4",
function(result){
for(x = 0; x < result.data.length; x++) {
var id = result.data[x].id;
var name = result.data[x].name;
var cover = result.data[x].cover.source;
var date = new Date(result.data[x].start_time);
var place = result.data[x].place.name;
var day = date.toString('dd');
var month = date.toString('MMM');
var url = 'https://facebook.com/'+id;
var time = date.toString("hh:mm tt");
$("#evt").append(name);
}
});
回答by JDev
i think you have to use FB Graph api. and if you want more information then you have to use like this
我认为你必须使用 FB Graph api。如果你想要更多的信息,那么你必须像这样使用
https://graph.facebook.com/579156356
https://graph.facebook.com/btaylor?access_token=AAAAAAITEghMBAHTRFEKjKcvFe1W2NJTu1Gsy20cNWEe0Dh98KoOhJEInZB1kXrMprNUaN6nq8FZA7YMZBvNVLwuz6pglh1SIBbZCnEECOAZDZD
i am useing like this.
我是这样用的。
function(evt){
console.log(evt.target.responseText);
var FB_obj = JSON.parse(evt.target.responseText);
console.log("fb id >>"+FB_obj.id);
console.log("fb name >>"+FB_obj.name);
}