自動化・開発・ウェブ制作

DXを始めるに当たって読むべき記事②~API通信の基礎であるJSONを紹介~

API通信ってどういう通信?

「ウェブサイトの情報って、どうしてるんだろう?」「APIって聞くけど、よくわからない…」。

DXを目論んだ時に、こんな流れでRPAやiPaaSに興味を持つ方が案外多いのではないでしょうか。

そんな疑問をお持ちの方へ、今回はAPI通信の鍵、JSON形式について解説します。ウェブページにはHTMLで記述されたテキストが表示されていますが、API通信ではJSON形式も頻繁に使われます。HTMLとJSON、これらの違いやJSON形式の利点を探りながら、ウェブの舞台裏を垣間見ましょう。 API通信の扉が開かれ、デジタル世界の仕組みが少しずつ明らかになります。

API通信とは

API通信は、異なるソフトウェアやプログラム同士が情報を共有し、連携するための手段です。APIは「Application Programming Interface」の略で、異なるアプリケーション同士がデータを交換するための窓口を提供します。これにより、さまざまなサービスやプログラムが連携し、複数の機能を組み合わせて利用することが可能になります。

ざっくり言うと人の操作を前提としたHTMLのWebインターフェースでなく(主に)JSONをやり取りすることによって情報の取得・変更ができるプログラム用のインターフェイスというような意味になります。

API通信が広く使われる例としては、ウェブサービスが挙げられます。例えば、あるウェブサービスが提供するAPIを使用することで、他のサービスやプログラムがそのウェブサービスのデータや機能を利用できるようになります。これにより、ユーザーは異なるサービスを組み合わせて利用することができ、より豊かな体験を得ることができます。

API通信では、データの受け渡しにさまざまな形式が利用されますが、その中でもJSON形式が一般的です。JSONは軽量でわかりやすいデータ形式であり、異なるプログラム間でのデータの受け渡しに適しています。API通信は、現代のソフトウェア開発やウェブサービス提供において不可欠な技術であり、異なるサービスやプログラムが協力して機能を拡張する基盤となっています。

JSON(JavaScript Object Notation)とは

おそらく、実際に確認する方が分かりやすいと考えますので、気象庁の天気予報のウェブサイトを例に挙げてみましょう。各リンク先または画像をご覧いただければと思います。

HTML形式
普通のブラウザで見るような東京の天気予報

HTML形式のウェブサイト

JSON形式
JSON形式で書かれたウェブサイト ー上記と全く同じ情報
Json詳細
JSON形式をもう少し見やすくすると、以下のような例
jsonBlobという、JSONエディターツールサイト
Json詳細

このJSON形式は、別名を使って「連想配列」「辞書型」「キーバリュー型」とも呼ばれます。

具体的には、object内のキーを指定すると、それに対応するバリューが返されます。例えば、reportDatetimeというキーを指定すると、そのバリューとして2022-03-18T10:46:00+09:00が返ってきます。同様に、targetAreaというキーを指定すると、対応するバリューとして東京都が返されます。

エクセルでは列のアルファベットと行番号で座標指定されますが、JSONでは順番に関係なく、キーの指定で目標の値を取得します。

WebブラウジングではHTML形式、APIではJSON形式

前回の記事では、ネット通信を文字のやり取りとして説明しました。HTMLやCSVがルール・記法の名称であるように、API通信も一定のルールで書かれた文字のやり取りです。そのルール・記法がJSONです。 JSONは、データを表現する際の統一された形式であり、特定のキーに対応する値を持つオブジェクトを使います。例えば、「reportDatetime」のキーには「2022-03-18T10:46:00+09:00」といった値が対応しています。 API通信においては、このようなJSON形式を用いて情報をやり取りすることが一般的です。 ウェブブラウジングでは主にHTML形式が使用され、API通信ではJSON形式が重要な役割を果たしています。

HTML(Hypertext Markup Language):

  • ウェブページの構造やコンテンツを表現するためのマークアップ言語。
  • タグを使用してテキストや画像、リンクなどの要素を配置し、ブラウザがこれを解釈して視覚的に表示される。

JSON(JavaScript Object Notation):

  • データの構造化と交換のための軽量なデータ形式。
  • キーと値のペアから成り、配列やネストされたオブジェクトを使用して情報を階層的に表現する。
  • 主にプログラム間でデータを交換するために使用され、テキストベースで読みやすい構造を持つ。

簡単に言えば、HTMLはウェブページの見た目を構築するための言語で、JSONはデータの軽量な表現形式で、主にプログラムがデータを扱うために使われます。

前回の記事「DXを始めるに当たって読むべき記事」第①段では、HTMLについてやさしく解説しています。以下をご覧ください。

JSONの利点

普段ブラウザで見るような画面から「予報日を取得したい」という場合、Webスクレーピングの技術になります。
具体的に言うと<table class="****"><tr class=>といったHTMLタグを手繰り寄せて、表記されている文字を取得することになります。

これは、もしデザインが変わる=HTMLが変更されると、Webスクレーピングプログラムはエラーになってしまいます。

一方、こういった情報がJSON形式で用意されていると、デザイン部分というのがそもそも存在しないので、渡された文字(JSON_object)に対して
JSON_object["reportDatetime"]とするだけで不変的に同じ情報が取得できます。

まとめ

つまり、APIがあれば、JSON文字によるやり取りによって自動化開発が圧倒的に楽になり、逆にAPIがないものはいつまでも手作業でやっていくか、または現実的じゃないくらいの高い開発&維持コストを払ってしか自動化ができない、ということにになります。

「DXを始めるに当たって読むべき記事」第③段、最終記事は以下からご覧ください。


弊社は、初心者でも安心してデータ連携ツールのiPaaSを導入できるようサポートしています。APIやiPaaSに不慣れながらも、ビジネスプロセスの効率化を望む企業様へのサポートを提供しています。また、当社はiPaaSツール「make(integromat)」の第一社目の公式パートナーです。make(integromat)を活用した具体的な活用事例や導入のメリットに関する情報は、以下の記事で詳しく解説しています。何かご質問がありましたら、お気軽にお問い合わせください。

関連記事

TOP