我使用Facebook Javascript SDK获取收件箱消息,到目前为止我能够获取它们并将其转换为JSON对象
function getMsgs() {
FB.api(
"/me/inbox",
function (response) {
if (response && !response.error) {
var result = JSON.stringify(response);
document.getElementById("msgs").innerHTML="<pre>"+result+"</pre>";
}
}
);
}
我最终得到的是这样的:
{
"data":[
{
"id":"15986833470221166",
"to":{
"data":[
{
"id":"7888047207869023",
"name":"My Name"
},
{
"id":"101530783476778608",
"name":"Friend Name"
}
]
},
"updated_time":"2015-02-08T03:09:02+0000",
"unread":5,
"unseen":0,
"comments":{
"data":[
{
"id":"159268645347021166_1421118060",
"from":{
"id":"7888047207869023",
"name":"My Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:00+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"7888047207869023",
"name":"My Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:16+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:23+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:30+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-02-08T03:09:02+0000"
}
],
"paging":{
"previous":"https://graph.facebook.com/v2.2/15986453474543021166/comments?access_token=TOKEN&limit=25&since=1423364314942&__paging_token=TOKEN&__previous=1",
"next":"https://graph.facebook.com/v2.2/15986453474543021166/comments?access_token=TOKEN&limit=25&until=142111148324060&__paging_token=TOEKN"
}
}
}
我想访问&#39;消息&#39;值。我想创建一个数组,用于存储此JSON结构中的每个消息值。
答案 0 :(得分:1)
根据您提供的json
,您可以执行以下操作:
// loop through the comments array
for ( var i = 0 ; i < json.data[0].comments.data.length; i++ )
{
var d = json.data[0].comments.data[i];
// codes here. Message is d.message
}
答案 1 :(得分:1)
如果您只需要收到消息,则可以使用
if (response && !response.error) {
var m=null
, result=JSON.stringify(response)
, re=/"message":"([^"]+)"/g
, messages=[];
while( m=re.exec(result) ) {
messages.push(m[1]);
}
// messages array should now hold all the values by key "message"
//console.log(messages);
}