Googleスプレッドシートを自動化!GASを使ってJSONデータを書き込む方法
GASでJSONデータをスプレッドシートに書き込みたいんだけど、どうやってやればいいんだろう…難しそうだなぁ。

猫男

catman
安心するんだ、GASガイドのcatmanが教えるさ。JSONデータをスプレッドシートに書き込む方法を一緒に見ていこう。
JSONデータとは何か?
JSON(JavaScript Object Notation)は、データを保存しやすく、また送受信しやすいテキストベースのフォーマットだ。GASでもJSONデータを扱う場面はよくある。
JSONの基本的な書き方
JSONはキーと値のペアでデータを表現する。
{
"name": "タロウ",
"age": 25,
"city": "Tokyo"
}
このように、オブジェクト風にデータをまとめている。
なぜJSONをGASで使うのか
GASでは、GoogleスプレッドシートにAPIや外部データを取り込む際にJSON形式のデータを利用することが多い。データの構造がシンプルなため、変換や処理がしやすいからだ。
GASを使ってJSONデータをスプレッドシートに書き込む
GASでは、JSONデータをスプレッドシートに書き込むプロセスをスムーズに行える。
GASでスプレッドシートにアクセス
まずはスプレッドシートを開き、そのシートにアクセスする必要がある。
function openSpreadsheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
return sheet;
}
SpreadsheetApp.getActiveSpreadsheet()で現在のスプレッドシートを取得し、getActiveSheet()でアクティブなシートを取得している。
JSONデータを書き込む
では、JSONデータを書き込む方法だ。
function writeJsonToSheet() {
var sheet = openSpreadsheet();
var jsonData = [
{"name": "タロウ", "age": 25, "city": "Tokyo"},
{"name": "ジロー", "age": 30, "city": "Osaka"}
];
for (var i = 0; i < jsonData.length; i++) {
sheet.appendRow([jsonData[i].name, jsonData[i].age, jsonData[i].city]);
}
}
appendRow()メソッドを使って、JSONデータの各オブジェクトをスプレッドシートに書き込んでいる。配列やオブジェクトを操作してデータを取り出すところがポイントだ。
なるほど、これでJSONデータを簡単にスプレッドシートへ書けるようになった気がします!ありがとうございます、catman。

猫男

catman
自信を持つんだ。慣れればどんなデータもGASで操作できるさ。この調子でどんどん挑戦してみよう。
JSONデータをスプレッドシートに書き込む練習問題
以下のJSONデータをスプレッドシートに書き込んでみてほしい。
[
{"product": "ノート", "price": 200, "quantity": 3},
{"product": "ペン", "price": 100, "quantity": 10}
]
スプレッドシートには、各オブジェクトのproduct、price、quantityを1行に書き込むように実装してみよう。
練習問題の解答・解説
function writeProductToSheet() {
var sheet = openSpreadsheet();
var jsonData = [
{"product": "ノート", "price": 200, "quantity": 3},
{"product": "ペン", "price": 100, "quantity": 10}
];
for (var i = 0; i < jsonData.length; i++) {
sheet.appendRow([jsonData[i].product, jsonData[i].price, jsonData[i].quantity]);
}
}
このスクリプトでは、forループを使って、product、price、quantityの各プロパティをappendRow()でスプレッドシートの新しい行として追加している。GASとスプレッドシートの連携が実際にどのようにできるかを示している。