31

Web サービスからデータをプルしており、JSON 形式になっています。データを入力する Google スプレッドシート用の Google Apps Script を作成しています。私の問題は、それを解析できないように見えることです。

やっている:

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

エラーが出て、次のように言っています:

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

これを行うべき組み込みの方法はありますか?

4

4 に答える 4

55

JSON.parse

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

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

于 2011-08-25T02:52:04.323 に答える
18

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 スプレッドシートの Script Editor に配置した後、これをシートのセル A1 に貼り付けます。

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")
于 2013-04-23T19:05:37.983 に答える
15

Appsスクリプトは(ほとんど)Javascriptです。プレーンオールドJSON.parseは、JSONをオブジェクト表現に解析するための最良のオプションです。

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

于 2010-10-18T04:45:41.677 に答える
1

この要点を使用してください: https://gist.github.com/varun-raj/5350595a730a62ca1954

交換

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

あなたのJSON URLで

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

rows.push([data.id, data.name,data.email]);
于 2014-05-20T16:41:26.570 に答える