Question

Je tire des données d'un service Web et il est formaté en JSON. Je suis en train d'écrire un script Google Apps pour Google Sheets qui peupleront les données pour moi. Mon problème est, je ne peux pas sembler l'obtenir pour analyser dehors.

Faire:

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

erreurs, en disant:

  

item [0] est pas défini.

Y at-il construit de façon que je devrais faire cela?

Était-ce utile?

La solution

Script Apps est (à peu près) juste Javascript; plaine vieux JSON.parse est votre meilleure option pour l'analyse syntaxique JSON en une représentation de l'objet.

Vous pouvez également utiliser JSON.stringify pour sérialiser un objet dans une représentation de chaîne.

Autres conseils

JSON.parse

Pour ceux qui voient dans ce 2011+, comme à pointe par Henrique Abreu au forum de support Google, Utilities.jsonParse est / sera dépréciée. Comme vous pouvez le voir sur le fil, il y a un bug avec cette fonction qu'il ne fonctionne pas lorsque vos clés sont des nombres, par exemple « 1234 ».

Comme suggéré, vous devez utiliser JSON.stringify / parse.

2013 mise à jour - Consultez la bibliothèque ImportJSON à

http://blog.fastfedora.com/projects/import-json

« importe les données ImportJSON des API JSON publiques dans Google Spreadsheets. Elle vise à faire fonctionner de façon similaire à la façon dont Google fonctionne de feuille de calcul natif travail ImportData et ImportXML. »

code ici et il a présenté à la Galerie Script: https://raw.github.com/fastfedora/google-docs/master/ scripts / ImportJSON / Code.gs

Exemple d'utilisation: Après avoir mis le code dans votre éditeur de Google tableur Script, puis collez ce dans la cellule A1 de la feuille:

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")

Cette essentiel: https://gist.github.com/varun-raj/5350595a730a62ca1954

Remplacer

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

avec votre JSON url

Ajoutez vos entités ici

rows.push([data.id, data.name,data.email]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top