31

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

正在做:

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

错误出来,说:

未定义项目 [0]。

我应该这样做吗?

4

4 回答 4

55

JSON.parse

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

按照建议,您应该使用 JSON.stringify/parse。

于 2011-08-25T02:52:04.323 回答
18

2013 年更新——查看 ImportJSON 库,网址为

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

“ImportJSON 将公共 JSON API 中的数据导入 Google 电子表格。它的操作方式类似于原生 Google 电子表格函数 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")
于 2013-04-23T19:05:37.983 回答
15

Apps 脚本(几乎)只是 Javascript;plain-oldJSON.parse是将 JSON 解析为对象表示的最佳选择。

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

于 2010-10-18T04:45:41.677 回答
1

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

代替

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

使用您的 JSON 网址

在此处添加您的实体

rows.push([data.id, data.name,data.email]);
于 2014-05-20T16:41:26.570 回答