Importar dados JSON para folhas do Google
-
27-09-2019 - |
Pergunta
Estou extraindo dados de um serviço da Web e são formatados como JSON. Estou escrevendo um script do Google Apps para folhas do Google que preencherão os dados para mim. Meu problema é que não consigo analisar.
Fazendo:
var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key);
erros fora, dizendo:
O item [0] não está definido.
Há alguns incorporados à maneira que eu deveria estar fazendo isso?
Solução
O script de aplicativos é (praticamente) apenas JavaScript; Antenido JSON.parse
é a sua melhor opção para analisar o JSON em uma representação de objetos.
Você também pode usar JSON.stringify
Para serializar um objeto em uma representação de string.
Outras dicas
Para aqueles que estão vendo isso em 2011+, como apontou Por Henrique Abreu no Fórum de Suporte do Google, o utilitários.jsonparse está/será obsoleto. Como você pode ver no thread, há um bug com essa função que ele não funciona quando suas teclas são números, ou seja, "1234".
Como sugerido, você deve usar o json.Stringify/parse.
Uma atualização de 2013 - confira a Biblioteca Importjson em
http://blog.fastfedora.com/projects/import-json
"O Importjson importa dados de APIs públicas de JSON para as planilhas do Google. Ele visa operar de maneira semelhante à maneira como a planilha do Google nativa funciona importando importa e importe o trabalho".
Código disponível aqui e ele o enviou para a galeria de scripts:https://raw.github.com/fastfedora/googled-docs/master/scripts/importjson/code.gs
Exemplo de uso: depois de colocar o código no editor de scripts da sua planilha do Google, coloque -o na célula A1 da folha:
=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content", "noInherit,noTruncate,rawHeaders")
Use esta essência:https://gist.github.com/varun-raj/5350595a730a62ca1954
Substituir
http://example.com/feeds?type=json
com seu JSON URL
Adicione suas entidades aqui
rows.push([data.id, data.name,data.email]);