【初心者向け】GASでJSONをスプレッドシートに書き込む方法
GASでJSONデータをスプレッドシートに書き込みたいんだけど、どうやってやればいいんだろう…難しそうだなぁ。

猫男

catman
安心するんだ、GASガイドのcatmanが登場さ。JSONデータをスプレッドシートに書き込む方法を一緒に見ていこう。
GASで出てくる「JSON」とは何もの?
JSON(JavaScript Object Notation)は、データを保存しやすく、送受信しやすいテキストベースのフォーマットだ。
GASでもJSONデータを扱う場面はよくあるよな。
JSONの基本的な書き方
JSONは「キー」と「値」のペアでデータを表現する。
{
"name": "タロウ",
"age": 25,
"city": "Tokyo"
}
このように、オブジェクト風にデータをまとめるんだ。
なぜJSONをGASで使うのか
GASでは、GoogleスプレッドシートでJSON形式のデータを利用することが多い。
たとえば、APIや外部データを取り込むシチュエーションで大活躍。
その理由は、データの構造がシンプルで変換や処理がしやすいからだ。
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]);
}
}
JSONデータの各オブジェクトからキーで値を取り出し、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()でスプレッドシートの新しい行として追加している。