web-dev-qa-db-ja.com

JSONデータをGoogleスプレッドシートにインポートする

Webサービスからデータを取得していますが、JSON形式です。データを入力するGoogleスプレッドシート用のGoogle Appsスクリプトを書いています。私の問題は、解析できないようです。

実行:

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

エラーは言って:

item [0]は定義されていません。

これを行う必要がある組み込みの方法はありますか?

29
joejoeson

Appsスクリプトは(かなり)Javascriptです。 plain-old JSON.parse は、JSONをオブジェクト表現に解析するための最良のオプションです。

JSON.stringifyを使用して、オブジェクトを文字列表現にシリアル化することもできます。

14
Tim McNamara

JSON.parse

2011年以降、GoogleサポートフォーラムのHenrique Abreuが 指摘 としてこれを目にしている人のために、Utilities.jsonParseは廃止される予定です。スレッドからわかるように、この関数には、キーが数字、つまり「1234」の場合に機能しないというバグがあります。

提案されているように、JSON.stringify/parseを使用する必要があります。

55
Anh-Kiet Ngo

2013年の更新-ImportJSONライブラリをチェックしてください

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

「ImportJSONは、パブリックJSON APIから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")
18
garec

この要点を使用: https://Gist.github.com/varun-raj/5350595a730a62ca1954

交換する

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

jSON URL

ここにエンティティを追加します

rows.Push([data.id, data.name,data.email]);
1
user3657546