いまさら聞けないJSONの正体に迫る!

実はありがたい存在

色々なところで見かけるアイツ


様々なプログラム言語を扱うとき、最近目にする気になるアイツでお馴染みJSON。
全く目にする機会がない場合「うへー」としり込みしてしまう例のファイルですが、このJSONにもきちんと意味があります。
今回はJSONの歴史からその正体に迫っていきましょう。

テキストベースのデータの集合


JSONは正式名称を「JavaScript Object Notation」と書き、その意味は「JavaScriptオブジェクトの記法」というものになります。
ますます分かり難くなった感もありますが、どうもJavaScriptに関連することやコードよりメタな存在であると予想できます。
次にまずは定義を確認してみましょう。

JSONの定義はインターネットに関する技術の標準化団体IETF(Internet Engineering Task Force)の発行するRFC(Request for Comments)に記載されています。
RFCというとこれまたしり込みしそうな単語ですが気にせず突入です。
なおJSONの定義はRFC4627に記載されています。
(参考:http://www.rfc-editor.org/rfc/rfc4627.txt)

まずはRFC4627のJSONの概要が書かれているAbstractの項を見てみましょう。
それによると
「JSONは軽くてテキストベース、かつ言語とは独立したデータ交換フォーマットです。
これはデータ構造を小さい命令セットによって定義します。」
とあります。

データ交換フォーマットというのはいわば「あらゆる環境で利用できるデータ」と解釈して良いでしょう。
それが特定の言語から独立しているのがJSONファイルということです。
そしてその記法は僅かな命令セットによる、ということになります。

これまでのことをまとめると、JSONというのはプログラミング言語から独立したテキストデータということが分かりました。
テキストデータということは分かりましたが、だからといってなぜ様々な場面で使われるのかは以前謎のままです。
次はその辺りについてみていきましょう。

なぜ様々なところで使われるのか


何かしらのプログラミング言語の名称に加えて「JSON」を付け足して検索すると、大抵はそのプログラミング言語でJSONを利用する手段がヒットします。
C言語でもJAVAでもPythonでも、果てはFortranでさえJSONを使えるようです。
JavaScript Object NotationのはずなのにJavaScript以外のたくさんの言語で利用されている状況となっています。

なぜこんなにJSONを使うのか、というとそれはただただ「便利だから」です。
例えばC言語からJavascriptに値を渡して処理したいとき、どう記述したら良いものか迷ってしまうでしょう。
片方はプログラミング言語で片方はスクリプト言語、しかも動作する仕組みも何もかも異なります。
また、C言語からJAVAやPHPへも値を渡したり逆に値を返す必要性が生じたら大変なことになるはずです。

そんなときに便利なのが共通言語の存在であり、それこそがJSONなのです。
事前に「JSON形式でデータのやり取りをしよう」と取り決めておけば、各言語間の橋渡し役としてJSONを使うことができるようになります。
これで何をどうやってデータをやり取りするか、という困難な問題が一掃されてしまいました。
まさにJSONの定義における「軽くてテキストベース、かつ言語とは独立したデータ交換フォーマット」という特性が発揮された形となっています。
また特殊ではなく普遍的なルールに従って記述されている点は非常に魅力的です。
その場その場のルールに従って書かれたテキストデータではなく、世界的に認知されているルールに基づいて書かれたテキストデータなので誰もが利用できます。

このように、JSONは言語間の連絡手段やメッセンジャーとして手軽に利用できる形式なのです。
また、環境構築の際にも使われることがありますが、それも「同じ開発環境を定義できる」という点において威力を発揮しています。
簡単な記述で普遍性があり、かつ必要不可欠な存在、それがJSONなのです。

もしもJSONが無かったら


現在ではJSONがデータ交換フォーマットとして盛んに利用されていますが、これまでにも同じようなものは使われてきました。
それは例えばHTMLと親和性の高いXML(Extensible Markup Language)や表計算ソフトのエクセルで主に利用されているCSV(Comma Separated Value)というフォーマットです。
もしJSONが無かったならこれらのデータフォーマットが使われていたでしょう。

実際にJSONが使われる前はCSVとXMLがデータフォーマットとして使われていたものですし、独自のフォーマットでやり取りするケースもあったものです。
というよりも現状でもこうしたデータフォーマットでデータのやり取りをすることもあるかもしれません。
例えば独自の出力データを作ればそれも1つのルールに乗っ取った形式のファイルということができます。

そうしたバラバラのデータ形式をまとめるという意味でやはりJSONはこれから利用シーンが増えていくはずです。
記法自体は簡単なのでこの際、勉強してしまいましょう。

JSONは怖くない


JSONというのは一定のルールに基づいて書かれている単なるテキストデータです。
利用する状況によってデータの集合だったり設定ファイルだったりするでしょう。
見慣れない記法で書かれているからといって警戒する必要は無く、書き方も広く利用されていることからも分かるように簡易なものとなっています。
意外なところでJSONファイルを見かけたらビックリするのではなく「色んなとこで使われてるんだなー」と思っておけば良いのです。

Additional Images




Comments

Add your comment

user-symbol

Stay in touch

Get Practical Tips For Business and Developers.

Learn about PieceX Community Needs for Source Code Projects.

Be the First to Know PieceX Newest Free Community Code Projects.