今回のテーマはJSONです。Web APIでJSONを利用するのが当たり前になっている現在ですが、その利点や関連オープンソース・ソフトウェアを取り上げます。もっと違った利用法が見えてくるかも知れませんよ。

利点

冗長性が低い、可読性が高い

Web APIとしてXMLが嫌がられたのは記述が冗長的であったことだと思います。JSONではYAMLに比べると波括弧が多い分、冗長的に見えますがそれでもXMLに比べると閉じ括弧がない分、すっきりとしています。その分、可読性が高くなっています。

Webブラウザで容易に扱える

JSONなのでJavaScriptから簡単に扱えるという利点はかなり大きいです。プログラミング時はもちろん、Webインスペクタのコンソール上でもJSONの内容を確認したり、変更したりする際にも使えます。

対応プログラミング言語が多い

今では大抵のプログラミング言語でJSONが扱えます。ただしライブラリによってパースが遅かったり、エラーが出るといった場合もあるので注意が必要です。特に速度面はライブラリによる差異が大きいように思います。

さらにJSONは単純なテキストデータであるため、そのままMySQLに入れておけるというメリットもあります。一時PHPのシリアライズをパースする手法もありましたが、JSONの方がより汎用性が高く、採用されるケースが多かったようです。

簡単に作れる

冗長性が低いのとかぶりますが、構文がシンプルであるために手作業でも作成できるのがメリットです。そのためWebシステムを通さないデータのやり取りに際して手動でJSONファイルを作成して外部システムに送るという方法がよく使われます。

例えば都道府県のマスタをAjaxで送るようにした場合、そんなのはシステムを使わずにJSONを静的に作ってしまってファイルを配置するだけでも十分だったりします。

拡張が容易

元々JSONには検証するための仕組みがありませんでしたが、最近では送受信されるデータのフォーマットチェックにJSONスキーマを使うケースが出てきています。より業務やエンタープライズ系での利用が進んでいる証拠かも知れません。