Importer des données JSON dans Google Spreadsheet

Je retire des données d'un webservice et il est formaté en tant que JSON. J'écris un script google apps pour Google spreadsheet qui remplira les données pour moi. mon problème est que je n'arrive pas à l'obtenir à analyser.

Faire:

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

Erreurs, disant item [0] n'est pas défini.

Y a-t-il une manière construite de le faire?

Toute aide serait appréciée.

29
demandé sur Noel Yap 2010-04-17 19:50:52

4 réponses

Apps script est (à peu près) juste Javascript; plain-old JSON.parse est votre meilleure option pour analyser JSON dans une représentation d'objet.

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

14
répondu Tim McNamara 2015-03-24 01:25:13

JSON.parse

Pour ceux qui voient cela en 2011+, comme l'a souligné par Henrique Abreu au Forum de support Google, Utilities.jsonParse est / sera obsolète. Comme vous pouvez le voir sur le fil, il y a un bug avec cette fonction qui ne fonctionne pas lorsque vos clés sont des nombres, c'est-à-dire "1234".

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

55
répondu Anh-Kiet Ngo 2013-02-03 17:35:22

Une mise à jour 2013 - consultez la bibliothèque ImportJSON à

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

"ImportJSON importe les données des API JSON publiques dans Google Spreadsheets. Il vise à fonctionner de manière similaire à la façon dont les fonctions de feuille de calcul Google natives ImportData et ImportXML fonctionnent."

Code disponible ici et il l'a soumis au Script Galerie: https://raw.github.com/fastfedora/google-docs/master/scripts/ImportJSON/Code.gs

Exemple d'utilisation: après avoir placé le code dans L'éditeur de Script de votre feuille de calcul Google, collez-le 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")
17
répondu garec 2013-04-23 19:05:37

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

Remplacer

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

Avec votre url JSON

Ajoutez vos entités ici

rows.push([data.id, data.name,data.email]);
1
répondu user3657546 2014-05-20 17:00:47