代码之家  ›  专栏  ›  技术社区  ›  joejoeson

将JSON数据导入Google工作表

  •  29
  • joejoeson  · 技术社区  · 14 年前

    我从一个Web服务中提取数据,它被格式化为JSON。我正在为谷歌工作表编写一个谷歌应用程序脚本,它将为我填充数据。我的问题是,我似乎无法把它分析出来。

    做:

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

    出错,说:

    未定义项[0]。

    有什么内在的方式我应该这样做吗?

    4 回复  |  直到 6 年前
        1
  •  14
  •   joshperry    9 年前

    应用程序脚本(基本上)只是javascript;普通的老版本 JSON.parse 是将JSON解析为对象表示的最佳选择。

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

        2
  •  55
  •   antony.trupe    12 年前

    JSON.parse

    对于那些在2011年看到这一点的人来说, pointed out Henrique Abreu在谷歌支持论坛上表示,utilities.jsonparse将被弃用。正如您从线程中看到的,这个函数有一个bug,当您的键是数字时,它不起作用,即“1234”。

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

        3
  •  18
  •   garec    11 年前

    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")
    
        4
  •  1
  •   W Kristianto    10 年前

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

    替换

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

    使用您的JSON URL

    在此处添加实体

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