将JSON数据导入Google表格

joe*_*son 29 json google-sheets google-apps-script

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

这样做:

var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key); 
Run Code Online (Sandbox Code Playgroud)

错误,说:

item [0]未定义.

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

Anh*_*Ngo 55

JSON.parse

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

如建议的那样,您应该使用JSON.stringify/parse.

  • [JSON.parse](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/parse) (2认同)

gar*_*rec 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")
Run Code Online (Sandbox Code Playgroud)


Tim*_*ara 14

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

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

  • 另一个答案是更好的,今天(2012年)我们使用[JSON.parse](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/parse) (9认同)
  • +1'jsonParse()`方法[已于2010年8月添加](http://code.google.com/googleapps/appsscript/release_notes.html),应使用它而不是eval()或复制/粘贴脚本. (3认同)