Jsonのシリアライズは、「JSONデータソースの使い方(応用編)」で少しだけ説明しましたが、「何のために」「どんなときに」使いうかがイメージできていない方も居られるのでないでしょうか。

この記事で、シリアライズ、デシアライズが少しでも理解してもらえると嬉しいです。

このページでは以下のことがわかります!

  • シリアライズ、デシリアライズの目的が理解できる
  • Jsonのシリアライズ、Jsonのデシリアライズコマンドを使うタイミングが分かる

このページの想定読者

  • HTTPリクエストコマンドでWeb API経由で情報を取得する方
  • ForguncyでJson形式のデータを扱う方
  • 出来ることを増やして、わくわくしたい人

このページの情報はV8以降で動作確認済みです。

シリアライズ/デシリアライズって何?

シリアライズ/デシリアライズ

シリアライズ (Serialization) とは、プログラミング言語で扱っているデータ構造(オブジェクトや配列など)を、JSON形式の文字列に変換することです。

デシリアライズ (Deserialization) は、その逆で、JSON形式の文字列を、プログラミング言語で扱えるデータ構造に変換することです。

例えば、「Pythonの辞書(dictionary)」というものがあります。これは、「名前とその値をセットで保存する箱」のような仕組みです。ただし、この箱はPythonの中だけで使える特別な形をしているので、そのままではインターネットで送ったり、他の場所に保存したりすることができません。

そこで、シリアライズを使ってJSON文字列に変換し、インターネットで送ったり、他の場所に保存したりします。また、受け取った側は、そのJSON文字列をデシリアライズすることで、Pythonの辞書に戻し、元のデータとして利用できます。

なぜシリアライズ/デシリアライズが必要なの?

主な理由は3つです。

  1. データ交換: 異なるシステム間でデータをやり取りするため。
  2. データ保存: データをファイルに保存したり、データベースに格納したりするため。
  3. キャッシュ: データを一時的に保存し、再利用するため。
イメージ図

[データ構造] ➡️ (シリアライズ) ➡️ [JSON文字列]

[JSON文字列] ➡️ (デシリアライズ) ➡️ [データ構造]

複雑なデータ構造を「輸送しやすい形」に変換し、目的地で元の形に戻すイメージです。JSON文字列は、データ構造を運ぶためのコンテナのような役割を果たします。

実際の用途:どこで使われているの?

JSONは非常に汎用性の高いデータ形式で、様々な場所で利用されています。

  • API通信: Web APIを通じてデータを送受信する際の標準的な形式です。例えば、Twitter APIやGoogle Maps APIなど、多くのAPIがJSON形式でデータを提供します。
  • 設定ファイル: アプリケーションの設定をJSON形式で保存することがあります。
  • データベース: NoSQLデータベース(MongoDBなど)では、JSON形式でデータを格納することが一般的です。
  • ファイル保存: アプリケーションのデータ構造をJSON形式でファイルに保存し、後で読み込むことができます。

Forguncyでシリアライズ/デシリアライズ

Forguncyでは、 専用コマンドを使って簡単にシリアライズとデシリアライズを行うことができます。

「Jsonのシリアライズ」、 「Jsonのデシリアライズ」がForguncyで準備されているコマンドになります。

まとめ

  • シリアライズとデシリアライズは、異なるシステム間でデータをやり取りしたり、データを保存したりするために不可欠な技術である。
  • JSON形式は、異なるシステム間でデータをやり取りするための強力なツールである。
  • JSONはWebアプリケーション開発において非常に重要な役割を果たしている。
  • この記事を理解できれば、JSONデータを活用できるようになる。

Jsonデータを使う場面に遭遇した際には、この記事でおさらいしてもらえればと思います。

関連記事

【著者】

Jun

I’m Forguncy lover!

2019年にForguncyに出会い、今では、(自称)日本一のForguncyファンです。アップデート毎に増える機能にいつもワクワクしています。もっと、開発者にForguncyの魅力を知ってもらい、使いこなし、私たちと同じようワクワクする体験をして欲しいと思い、有志とともに2025年6月30日にForguncy Users Communityを立ち上げさせてもらいました。当サイトにアクセスした開発者がワクワクする情報を発信していきたいと思います。