将JSON数据导入Google表格

时间:2010-04-17 15:50:52

标签: json google-apps-script google-sheets

我从Web服务中提取数据,格式为JSON。我正在为Google表格编写Google Apps脚本,以便为我填充数据。我的问题是,我似乎无法解析它。

这样做的:

var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key); 

错误,说:

  

项目[0]未定义。

是否有一些内置方式我应该这样做?

4 个答案:

答案 0 :(得分:55)

JSON.parse

对于那些在2011年以上看到这一点的人,如Henrique Abreu在Google支持论坛上pointed out那样,Utilities.jsonParse将被弃用。正如你从线程中看到的那样,这个函数存在一个错误,当你的键是数字时它就不起作用,即“1234”。

根据建议,您应该使用JSON.stringify / parse。

答案 1 :(得分:18)

2013年更新 - 查看

上的ImportJSON库

http://blog.fastfedora.com/projects/import-json

“ImportJSON将公共JSON API中的数据导入Google Spreadsheets。它的目的与本机Google Spreadsheet的ImportData和ImportXML功能相似。”

此处提供的代码,他已将其提交到脚本库: https://raw.github.com/fastfedora/google-docs/master/scripts/ImportJSON/Code.gs

使用示例:将代码放入Google电子表格的脚本编辑器后,将其粘贴到工作表的单元格A1中:

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")

答案 2 :(得分:14)

应用程序脚本(几乎)只是Javascript;普通的JSON.parse是将JSON解析为对象表示的最佳选择。

您还可以使用JSON.stringify将对象序列化为字符串表示形式。

答案 3 :(得分:1)

使用这个要点: https://gist.github.com/varun-raj/5350595a730a62ca1954

替换

http://example.com/feeds?type=json

使用您的JSON网址

在此处添加您的实体

rows.push([data.id, data.name,data.email]);