3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

40 代おっさん GASのJSONオブジェクトについて学ぶ

Posted at

本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

JSONとは

JSONはデータをを表現するための記法の一種
アプリケーション間のデータのやり取りを行うために使用される文字列データのこと

*JSONのほかにCSV,XMLなどがあるが組み込みオブジェクトでは提供されていない。
GASではUtilities Service, XML Serviceで提供されている。

JSON形式は
JavaScriptのオブジェクトリテラル、配列リテラルを組み合わせた表現がベースになっている文字列データ
以下2点のルールを確認しておく

・プロパティ名はダブルクォーテーションで囲む
・文字列はダブルクォーテーションで囲む

JSONオブジェクトとは

JSON形式のデータは文字列なので、スクリプト内で個々の値を取り出すためには、オブジェクトに変換する必要がある。
JSONオブジェクトは、JSON形式の文字列とJavaScriptのオブジェクトを相互に変換する2つの静的メソッドを提供する。

*JSONオブジェクトはnew演算子でインスタンスを生成することはできない。

JSONオブジェクトのメンバー

分類 メンバー 戻り値 説明
静的メソッド JSON.parse(str) Object JSON形式の文字列strをオブジェクトに変換したものを返す
静的メソッド JSON.stringify(obj) String オブジェクトobjをJSON形式の文字列に変換したものを返す

お試し(JSON.stringify)

function toshiki4() {
  const obj = [
    {name: '利樹', favorite: ["みかん", "仮面ライダー", "YouTude"]},
    {name: 'パパ', favorite: ["", "ガンダム", "ゲーム"]},
    {name: 'ママ', favorite: ["野菜", "ワンピース", "映画"]}
  ];

  console.log(JSON.stringify(obj));
}

コンソールログを見るとすべてダブルクォーテーションになっています。

お試し(JSON.parse)

function toshiki4() {
  let str = '[';
  str += '{"name": "利樹", "favorite": ["みかん", "仮面ライダー", "YouTude"]},';
  str += '{"name": "パパ", "favorite": ["肉", "ガンダム", "ゲーム"]},';
  str += '{"name": "ママ", "favorite": ["野菜", "ワンピース", "映画"]}';
  str += ']';

  const persons = JSON.parse(str);

  console.log(persons[0].name);
  console.log(persons[1].favorite[2]);

  const {name, favorite} = persons[2];
  console.log(name, favorite);
}

このように外部からJSON形式の文字列を受け取ったらオブジェクト化をしてデータを取り出すのが基本の流れになる。

参考資料

https://www.amazon.co.jp/s?k=google+apps+script+%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80&adgrpid=110264232688&gclid=CjwKCAiA9aKQBhBREiwAyGP5lSl7AJJLCvOEHb4wQgMlyqW1fll5X8GDTT_Rkd1_soUAyIPMXQr26hoClHEQAvD_BwE&hvadid=553833563682&hvdev=c&hvlocphy=1009076&hvnetw=g&hvqmt=b&hvrand=4378489642044417389&hvtargid=kwd-594191211348&hydadcr=4106_13159878&jp-ad-ap=0&tag=googhydr-22&ref=pd_sl_2x1owglv0s_b_p52

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?