Importa dati JSON in Google Fogli
-
27-09-2019 - |
Domanda
sto tirando i dati da un servizio Web ed è formattato come JSON. Sto scrivendo uno script di Google Apps per Google Fogli che popoleranno i dati per me. Il mio problema è che non riesco a farlo analizzare fuori.
Senza fare:
var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key);
errori, dicendo:
elemento [0] non è definito.
C'è qualche costruito in modo che dovrei fare questo?
Soluzione
sceneggiatura Apps è (più o meno) solo Javascript; plain-old JSON.parse
è la scelta migliore per il parsing di JSON in una rappresentazione dell'oggetto.
È inoltre possibile utilizzare JSON.stringify
per serializzare un oggetto in una rappresentazione di stringa.
Altri suggerimenti
Per coloro che stanno vedendo questo 2011+, come da Henrique Abreu al forum di supporto di Google, Utilities.jsonParse è / sarà deprecato. Come si può vedere dal thread, c'è un bug con questa funzione che non funziona quando le chiavi sono numeri, vale a dire "1234".
Come suggerito, si dovrebbe utilizzare JSON.stringify / parse.
A 2013 aggiornamento - Check out la biblioteca ImportJSON a
http://blog.fastfedora.com/projects/import-json
"ImportJSON importa i dati da API JSON pubblici in Google Spreadsheets. Ha lo scopo di operare in modo simile a come il lavoro nativa di Google Spreadsheet funzioni ImportData e ImportXML".
Codice disponibile qui e lui ha presentato alla Gallery Script: https://raw.github.com/fastfedora/google-docs/master/ scripts / ImportJSON / Code.gs
utilizzoEsempio: Dopo aver messo il codice in Script Editor del foglio di lavoro di Google, quindi incolla questo nella cella A1 del foglio:
=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content", "noInherit,noTruncate,rawHeaders")
Utilizzare questa sostanza: https://gist.github.com/varun-raj/5350595a730a62ca1954
Sostituire
http://example.com/feeds?type=json
con il JSON url
Aggiungi il tuo entità qui
rows.push([data.id, data.name,data.email]);