質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Q&A

1回答

862閲覧

GASでスプレッドシートにJSONのデータを吐き出すにあたり

amnoskanae

総合スコア13

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

0グッド

1クリップ

投稿2019/05/14 12:40

##Jsonのデータの配列がスプレッドシートに上から3件しか吐き出されません。

現在、スクリプトを実行するにあたり、エラーは出ません。
Json形式でデータの呼び出しがされているのはログで確認済みです。

しかし、それらを配列に格納し、スプレッドシートに書き出そうとすると、なぜか上から3つ目までしか取ってこれません

gas

1function run() { 2 var service = getService(); 3 if (service.hasAccess()) { 4 var url = 'https://=='; 5 var response = service.fetch(url, { 6 method: 'get' 7 }); 8 var zaim = JSON.parse(response.getContentText()); 9 10 //項目ごとに配列を作成し、要素を格納 11 var date = []; 12 var comment = []; 13 var amount = []; 14 var h = "money"; 15 16 for ( var i = 0 ; i <= Object.keys( zaim ).length ; i++ ) { 17 date.push( [ zaim[ h ][ i ][ 'date' ]]); 18 comment.push( [ zaim[ h ][ i ][ 'comment' ]]); 19 amount.push( [ zaim[ h ][ i ][ 'amount' ]] ); 20 21 }; 22 23 var sheet = SpreadsheetApp.getActiveSheet(); 24 25 sheet.getRange( 2 , 1 , date.length , 1).setValues( date ); 26 sheet.getRange( 2 , 2 , comment.length, 1 ).setValues( comment ); 27 sheet.getRange( 2 , 3 , amount.length, 1 ).setValues( amount ); 28 29 30 }

色々と調べてみたものの、よくわからずどうしようもできないので、どなたかお力添えしていただけないでしょうか?

よろしくお願い致します!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

zaimのkeyの数分for文を回しているようですが、やりたそうなことからするとzaim[h].lengthなのでは?

投稿2019/05/14 12:55

mistn

総合スコア1191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amnoskanae

2019/05/14 13:08 編集

早速ご回答いただきありがとうございます! >TypeError: undefined からプロパティ「date」を読み取れません。(行 25、ファイル「コード」) ご指摘の通り「 Object.keys( zaim ).length」から「zaim[h].length」に変更したところ、上記のエラーがでてしまいます。ちなみに「Object.keys( zaim[h] ).length」このようにしても同様でした。 初心者なもので、解決策がわからず、引き続きお力添えいただけますと幸いですmm
papinianus

2019/05/14 13:21

✕ i <= zaim[h].length ○ i < zaim[h].length イコールがいらない
amnoskanae

2019/05/14 13:28

やっとデータが吐き出せました!papinianusさんとmistnさんのおかげでございます!ありがとうございます!
papinianus

2019/05/14 13:31

忘れずにベストアンサー決めて解決にしてくださいね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問