Importuj dane JSON do arkusza kalkulacyjnego Google

Pobieram dane z serwisu internetowego i jest on sformatowany jako JSON. Piszę skrypt google apps dla arkusza kalkulacyjnego google, który wypełni dane dla mnie. mój problem polega na tym, że nie mogę go przetworzyć.

Robi:

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

Błąd, mówiąc, że pozycja[0] nie jest zdefiniowana.

Czy Jest jakiś sposób, w jaki powinienem to robić?

Każda pomoc byłaby doceniana.
Author: Noel Yap, 2010-04-17

4 answers

Apps script to (prawie) tylko Javascript; zwykły-stary JSON.parse jest najlepszą opcją do parsowania JSON do reprezentacji obiektu.

Możesz również użyć JSON.stringify do serializacji obiektu w reprezentację ciągu znaków.

 14
Author: Tim McNamara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-24 01:25:13

JSON.parse

[[1]} dla tych, którzy widzą to w 2011+, Jak wskazał przez Henrique Abreu na Google support forum, narzędzia.jsonParse jest / będzie przestarzały. Jak widać z wątku, jest błąd z tą funkcją, że nie działa, gdy klucze są numerami, czyli "1234".

Zgodnie z sugestią, powinieneś używać JSON.stringify / parse.

 55
Author: Anh-Kiet Ngo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-03 17:35:22

Aktualizacja z 2013 roku -- Sprawdź bibliotekę ImportJSON na

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

"ImportJSON importuje dane z publicznych interfejsów API JSON do arkuszy kalkulacyjnych Google. Ma on działać podobnie do tego, jak działają natywne funkcje arkusza kalkulacyjnego Google ImportData i ImportXML."

Kod dostępny tutaj i przesłał go do skryptu Galeria: https://raw.github.com/fastfedora/google-docs/master/scripts/ImportJSON/Code.gs

Przykład użycia: po umieszczeniu kodu w Edytorze skryptów arkusza kalkulacyjnego Google, wklej ten kod w komórce A1 arkusza:

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")
 17
Author: garec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-23 19:05:37

Użyj tego gist : https://gist.github.com/varun-raj/5350595a730a62ca1954

Zastąp

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

Z Twoim adresem URL JSON

Dodaj tutaj swoje podmioty

rows.push([data.id, data.name,data.email]);
 1
Author: user3657546,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-20 17:00:47