非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

GoogleスプレッドシートのデータをJSON形式で取得する方法

   

Googleスプレッドシートのデータをデータベースとして外部から参照できないかなと思っていたらJSON形式で取得できることがわかりました。

今回JSONにするデータは以下のようなブックマークみたいなリンクリストのようなものです。

 

これがJSONにした結果です。1行目をキーにして2行目以降を値にしたJSON形式にします。

 

こちらがソースコードになります。これをデプロイして示されたウェブアプリURLにアクセスすると上記のようなJSONデータが取得できます。

function getData(sheetName) {
  var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
  var rows = sheet.getDataRange().getValues();
  var keys = rows.splice(0, 1)[0];
  return rows.map(row => {
    var obj = {};
    row.map((item, index) => {
      obj[String(keys[index])] = String(item);
    });
    return obj;
  });
}

function doGet() {
  var data = getData('bookmarks');
  return ContentService.createTextOutput(JSON.stringify(data, null, 2))
  .setMimeType(ContentService.MimeType.JSON);
}
 

 

 

スポンサーリンク

 - Google Apps Script