開発・エンジニアリング・情報システム

ネット通信ってなんだ?~API通信の基礎であるJSONを紹介~|DXを始めるに当たって読むべき記事②

ネット通信とは!?-RPA、iPaaS、コーディングを用いて日々自動化を開発するエンジニアが解説します。DXに興味がある方はに読んでいただけると仕組みを理解できます。そうすればより成功に近づくと考えております。


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

「DXをしなくちゃいけない。」
「ITだ、ロボットだ、自動化だ。」
「RPAというものがあるらしい。名前にロボットがついてるから、ロボット的なものが何かやってくれるんだろう」

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

弊社では、

iPaaSって何?

と聞かれた時のアンサーの一つとして、このブログではネット通信について解説することで翻ってAPIとは何かAPIを利用した連携開発の利点iPaaSの良さといった順で解説していきたいと思います。

それがひいてはDXの成功に繋がると信じて。

この記事はネット通信解説シリーズの第②段になります。

第①段はこちら

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

※API通信では(主に)JSON形式と言った方が正確です
前回の記事ネット通信とはつまり文字のやり取りだ!と説明させていただきました。
また、「
あとがき」前後にて、HTMLやCSVはルール・記法の名称であって、文字は文字でも一定のルールでデータを表現しているものという説明をさせていただきました。
ということは、API通信も一定のルールで書かれた文字のやり取りです。そのルール・記法がJSONというものになります。

 

JSON(JavaScript Object Notation)とは

恐らく目で見た方が早いと思うので、気象庁の天気予報を例に挙げてみます。
それぞれのリンク先または画像をご覧ください。
HTML形式↓
普通のブラウザで見るような東京の天気予報

JSON形式↓
JSON形式で書かれた、コア情報としては全く同じの

JSON形式をもう少し見やすくすると、こんな感じです。
jsonBlobという、JSONエディターツールサイト

通常のHP(HTML形式)での発表日にあたる部分↓

これがJSON形式ではreportDatetimeの部分になっています。

このようなJSON形式は別の言い方で連想配列方辞書型キーバリュー型と呼ばれます。

objectの中のreportDatetimeと言ったら2022-03-18T10:46:00+09:00
objectの中のtargetAreaと言ったら東京都

という風に、キーを指定するとそのペアになっているバリューを返してくれるものになります。

例えばエクセルだと列のアルファベット+行番号
=A2といった風に座標指定になります。が、JSONでは順番などは関係ありません。キー指定で目標の値を取得します。

 

JSON形式のどこがいいかというと

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

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

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

 

まとめ

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

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

次回記事では、「APIファースト」というITワードを紹介しつつ、主にHTML文字のタグを読み取ってたどったり、PC画面の画像マッチングによる自動化方法が主なRPAと比較してJSONによるAPI通信の自動化がどれだけ楽で大切か、ということをより詳しく書いていきたいと思います。

 

次回記事はこちら

Similar posts

メールマガジンに登録して最新の情報をゲットしよう。