我正在从 Web 服务中提取数据,并将其格式化为 JSON。我正在为 Google 表格编写一个 Google Apps 脚本,它将为我填充数据。我的问题是,我似乎无法解析它。
正在做:
var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key);
错误出来,说:
未定义项目 [0]。
我应该这样做吗?
我正在从 Web 服务中提取数据,并将其格式化为 JSON。我正在为 Google 表格编写一个 Google Apps 脚本,它将为我填充数据。我的问题是,我似乎无法解析它。
正在做:
var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key);
错误出来,说:
未定义项目 [0]。
我应该这样做吗?
正如Henrique Abreu 在 Google 支持论坛上所指出的那样,对于那些在 2011 年以上看到这一点的人来说,Utilities.jsonParse 已经/将被弃用。正如你从线程中看到的,这个函数有一个错误,当你的键是数字时它不起作用,即“1234”。
按照建议,您应该使用 JSON.stringify/parse。
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")
Apps 脚本(几乎)只是 Javascript;plain-oldJSON.parse
是将 JSON 解析为对象表示的最佳选择。
您还可以使用JSON.stringify
将对象序列化为字符串表示形式。
使用这个要点: https ://gist.github.com/varun-raj/5350595a730a62ca1954
代替
http://example.com/feeds?type=json
使用您的 JSON 网址
在此处添加您的实体
rows.push([data.id, data.name,data.email]);