Импорт данных JSON в Google Sheets - PullRequest
29 голосов
/ 17 апреля 2010

Я извлекаю данные из веб-службы, и они отформатированы в формате JSON. Я пишу скрипт Google Apps для Google Sheets, который будет заполнять данные для меня. Моя проблема в том, что я не могу разобраться с этим.

Выполнение:

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

ошибок, говоря:

элемент [0] не определен.

Есть ли какие-то встроенные способы, которыми я должен это делать?

Ответы [ 4 ]

55 голосов
/ 25 августа 2011

JSON.parse

Для тех, кто видит это в 2011+, как указал Энрике Абреу на форуме поддержки Google , Utilities.jsonParse устарел. Как вы можете видеть из цепочки, в этой функции есть ошибка, которая не работает, когда ваши ключи являются числами, то есть «1234».

Как и предполагалось, вы должны использовать JSON.stringify / parse.

18 голосов
/ 23 апреля 2013

Обновление 2013 года - ознакомьтесь с библиотекой ImportJSON на

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

"ImportJSON импортирует данные из общедоступных API-интерфейсов JSON в электронные таблицы Google. Он призван работать аналогично тому, как работают собственные функции электронных таблиц Google ImportData и ImportXML."

Код доступен здесь, и он отправил его в Галерею скриптов: https://raw.github.com/fastfedora/google-docs/master/scripts/ImportJSON/Code.gs

Пример использования. После помещения кода в редактор сценариев электронной таблицы Google вставьте его в ячейку A1 листа:

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")
14 голосов
/ 18 октября 2010

Сценарий приложения (в значительной степени) просто Javascript; обычный старый JSON.parse - ваш лучший вариант для анализа JSON в представлении объекта.

Вы также можете использовать JSON.stringify для сериализации объекта в строковое представление.

1 голос
/ 20 мая 2014

Используйте эту суть: https://gist.github.com/varun-raj/5350595a730a62ca1954

Заменить

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

с вашим URL JSON

Добавьте ваши объекты здесь

rows.push([data.id, data.name,data.email]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...