我环顾四周,我知道这些信息已经存在,但我完全不了解如何做到这一点。我需要从Facebook的Graph API上的json数据文件中提取名称。这是json数据的一个例子。
{
"id": "POSTID",
"created_time": "2013-09-20T20:20:52+0000",
"comments": {
"data": [
{
"from": {
"name": "XXXXXXX",
"id": "XXXXXXX"
},
"id": "XXXXXXX"
},
{
"from": {
"name": "XXXXXXX",
"id": "XXXXXXX"
},
"id": "XXXXXXX"
}
我需要在电子表格中找到名称。我怎样才能做到这一点?非常感谢你的时间。
答案 0 :(得分:0)
好的,基于上面的评论讨论,我敲了一个例子,从Facebook Graph API - 评论流中提取名称,使用jQuery和JSONSelect作为JSON询问器。
jsFiddle:http://jsfiddle.net/9nqu6/1/
检索Feed后,所有工作都由JSONSelect完成,使用选择器'.comments .data .from .name'
选择Feed中所需的级别。
.forEach()
命令允许使用回调迭代结果,这里只生成一个表和一个CSV文件(使用数据URI,通过download
属性在Chrome中设置的文件名)。
NB。这没有错误处理,所以一定要传递正确类型的URI!例如。
https://graph.facebook.com/<postid>?fields=comments.limit(1000).fields(from)
<强>的jQuery 强>
$('#read-graph').on('click', function() {
var graphLink = $('#graph-link').val();
if (!graphLink) {
alert("Enter link");
return false;
}
graphLink = graphLink + (/\?/.test(graphLink) ? "&" : "?") + "callback=?"
$.getJSON(graphLink, function(data) {
var nameBlock = $('#name-block');
nameBlock.find('tr').remove();
var csvData = "data:application/csv;charset=utf-8,Index%2CName%2C%0A";
var cIndex = 0;
JSONSelect.forEach('.comments .data .from .name', data, function(cName) {
cIndex++;
nameBlock.append('<tr><td class="index">' + cIndex + '</td><td class="name">' + cName + '</td></tr>');
csvData = csvData + cIndex + "%2C" + encodeURIComponent('"' + cName.replace(/"/g, '""') + '"') + "%0A";
});
$('#download-csv').prop('href', csvData).attr('download', "FBGraph.csv").show();
});
return false;
});
<强> HTML 强>
<h3>Graph Link</h3>
<form>
<input id="graph-link" name="graph-link" type="text" value="" />
<input id="read-graph" name="read-graph" type="submit" value="Read Graph" />
<a id="download-csv" href="#" style="display: none;">Download CSV</a>
</form>
<table id="name-block">
</table>
<强> CSS 强>
#graph-link {
width: 400px;
}
#name-block {
margin-top: 10px;
border: 1px solid black;
border-collapse: collapse;
}
#name-block tr {
border-top: 1px dashed black;
}
#name-block .index {
width: 50px;
}
#name-block .name {
width: 350px;
border-left: 1px solid black;
}
答案 1 :(得分:0)
我已经编写了一个Excel加载项(XLL),它将JSON从Facebook Graph API直接导入Excel。它可以在GitHub上找到: