こんにちは!「中年からのAI再スタート」のYasuです。
第66話の記事で「GASって何?どんなメリットがあるの?」という基本を学び、ここ数回は実際に手を動かしてGASの基礎(データ型や条件分岐)を学んできましたね。コピペに頼らず、自分でコードを書いて動かす楽しさを実感していただけているのではないでしょうか!
さて、今回はついに**「システム同士を会話させるための魔法の言葉」**について解説します。
以前、DifyとGASを連携させて「自動見積もりボット」を作ったとき、コピペしたコードの中にこんな謎の呪文があったのを覚えていますか?
JSON.stringify(payload)JSON.parse(response.getContentText())
「ジェイソン…?13日の金曜日?」とスルーしていた方も多いはず(笑)。 実はこれ、AI(Dify)とGASを連携させる上で絶対に欠かせない、超重要なテクノロジーだったんです。今日でこの呪文の謎がすべて解けますよ!
そもそも「JSON」って何者?
JSON(ジェイソン:JavaScript Object Notation)とは、一言でいうと**「違うシステム同士でデータをやり取りするための、世界共通の段ボール箱」**です。
Googleのシステムである「GAS」と、AIのシステムである「Dify」。 この2つは、例えるなら「日本語しか話せない人」と「英語しか話せない人」のような関係です。そのままではお互いの言葉が通じず、データの受け渡しができません。
そこで、「どんな国のシステムでも絶対に読める、世界共通の書き方ルールで手紙を書こう!」と決められました。そのルールの名前が「JSON」なのです。
前に学んだ「オブジェクト」との違いは?
「あれ?データをひとまとめにする整理箱なら、第69話の『データ型』でやった**オブジェクト({ }で囲むやつ)**と同じじゃないの?」と思ったあなた。大正解です!素晴らしい記憶力ですね!
実は、JSONはオブジェクトと見た目がそっくりです。でも、**「世界共通のフォーマット」として使うために、少しだけ厳しいルール(書き方の鉄の掟)**が追加されています。
- 見出し(キー)は必ず
" "(ダブルクォーテーション)で囲む! - 文字のデータも必ず
" "(ダブルクォーテーション)で囲む! (※シングルクォーテーション' 'は絶対NG!) - 最後のデータの後ろには
,(カンマ)をつけない!
▼ 清掃業のデータを「JSON形式」で書いてみると…
JSON
{
"customer_name": "田中",
"menu": "エアコンクリーニング",
"price": 12000,
"parking_required": false
}
数字(12000)や真偽値(false)は " " で囲まない、というのはGASの時と同じですね。このカチッとしたルールで書かれたテキストデータこそが「JSON」の正体です。
あのコピペコードの「2つの魔法の呪文」の正体
JSONの正体がわかったところで、いよいよ過去の伏線を回収しましょう! 自動見積もりボットのコードで使った、あの2つの呪文の意味はこういうことだったんです。
① 荷物を段ボールに詰める魔法: JSON.stringify()
- 読み方: ジェイソン・ストリンギファイ
- 意味: GASの中にあるデータを、Difyに送るために「JSON形式のテキスト(ガムテープで閉じた段ボール)」に変換して!という指示。
だからあの時、Difyに「お客様の入力データ(payload)」を送る直前に、この呪文を唱えてしっかりと梱包していたんです!
② 届いた段ボールを開封する魔法: JSON.parse()
- 読み方: ジェイソン・パース
- 意味: Difyから返ってきたJSONのテキスト(手紙)を、GASが読めるデータ(オブジェクト)に戻して!という指示。
DifyのAIが一生懸命考えてくれた見積もりの文章は、JSONという段ボール箱に入って届きます。そのままではGASが読めないので、この呪文で箱を開封(変換)して中身を取り出していたんですね。
まとめ
- JSON = システム同士を繋ぐ、世界共通のデータ記入ルール
JSON.stringify()= GASのデータをJSONに「梱包」して外に送るJSON.parse()= 外から届いたJSONを「開封」してGASで使う
いかがでしたか? 「ただ言われるがままにコピペしていた暗号」が、「意味のある指示」としてハッキリと読めるようになったはずです。点と点が線に繋がるこの瞬間こそ、プログラミング学習の最高の喜びですよね!
この「梱包」と「開封」の魔法さえ覚えてしまえば、Difyだけでなく、LINEやChatwork、kintoneなど、世の中にあるあらゆる外部システムとGASを連携させることができるようになります。あなたのビジネスの自動化の可能性は、ここから無限大に広がっていきますよ!
次回はこれまたプログラミング未経験者には頭が痛い関数について
勉強していこうと思います。是非お楽しみに!


コメント