Google Apps Script

【GAS】オブジェクトやJSONデータから配列を作成する(Object.keys,values,entries)

こんにちは、もりです!

この記事では、GASの新しい実行環境V8ランタイムで使えるようになったJavaScriptの記述を紹介します。オブジェクトから配列を作成する方法です。

オブジェクトから配列を作るObjectクラスのメソッド

JavaScriptのObjectクラスのメソッドを使用します。

  • Object.keys(obj)
    → オブジェクトの「キー」を配列にして返す
  • Object.values(obj)
    → オブジェクトの「値」を配列にして返す
  • Object.entries(obj)
    → オブジェクトの「キーと値のペア」を配列にして返す【二次元配列】

サンプルコードです。

【おまけ】オブジェクトの中にオブジェクトがある場合

オブジェクトの中にオブジェクトがある場合の、各メソッドの実行結果です。

【おまけ】配列の中にオブジェクトがある場合

配列の中にオブジェクトがある場合の、各メソッドの実行結果です。

JSONデータを配列に変換してスプレッドシートに書き込む

entriesメソッドは、オブジェクトの「キーと値のペア」を配列にして返すことを確認しました。

entriesメソッドを使うと、API経由で取得した「JSONデータ」などのオブジェクトを、簡単にスプレッドシートに書き込むことができます。

郵便番号データ配信サービスのAPIを使ってJSONデータを取得してみます。

 

取得したJSONデータがこちら。

 

このJSONデータのresultsプロパティの先頭のオブジェクト[0]をスプレッドシートに書き込んでみます。この部分です。

 

コードがこちら。

 

スプレッドシートへの書き込み結果がこちらです。ループ処理などを使わずとも、JSONデータを簡単に書き出すことができましたね。

JSONデータをスプレッドシートに出力

 

以上、GASで、オブジェクトから配列を作成する方法を紹介しました。