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?

Foi útil?

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

JSON.parse

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]);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top