使用FB json数据文件来创build电子表格

我已经四处寻找这个,我知道信息是在那里,但我完全不知道如何做到这一点。 我需要从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" } 

我需要在电子表格中获取名称。 我怎样才能做到这一点? 非常感谢您的时间。

好的,根据上面的评论讨论,我敲了一个例子来从Facebook Graph API – 评论stream中取出名称,使用jQuery和JSONSelect作为JSON查询器。

jsFiddle: http : //jsfiddle.net/9nqu6/1/

一旦检索到提要,所有工作都由JSONSelect完成,使用select器'.comments .data .from .name' .data。from '.comments .data .from .name'来select提要中所需的级别。

.forEach()命令允许用callback对结果进行迭代,这里只是生成一个表和一个CSV文件(使用数据URI,在Chrome中通过download属性设置的文件名)。

NB。 这里没有error handling,所以一定要传递正确的URItypes! 例如。

 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; } 

我已经编写了一个Excel插件(XLL),可以将Facebook Graph API中的JSON直接导入到Excel中。 它在GitHub上可用:

https://github.com/spreadgit/XLfacebook