@nqounetです。
チョット前にJSONRPCのモジュールを書いたのですが、その時に見つけた最近お気に入りのJSON変換モジュールを紹介します。
JSON::MaybeXS
JSON::MaybeXS - Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP
JSON::MaybeXS - Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP - metacpan.org
このJSON::MaybeXS
を知るまでは、JSON
モジュールを使っていました。
JSONモジュールは、JSON::XS
が入っている環境では、自動的にそれを使ってくれるので便利に使っていたのですが、当時さらに速いCpanel::JSON::XS
を使いたいと思っていました。
そんな時に、このJSON::MaybeXS
を見つけました。
このモジュールは、Cpanel::JSON::XS
→JSON::XS
→JSON::PP
の順に使えるモジュールを使ってくれるので、少なくともJSON
より遅くなることはありません。
また、個人的にJSON::MaybeXS
で嬉しかったのは、JSON->new
とすることでインスタンスを作ることができることです。
|
|
もし、私のようにJSON
モジュールを好んで使っていた方がいたら、上記の1行をファイルの最初の方に書けば、それ以外は特に変更することなくグレードアップできます。
JavaScriptではbooleanが扱いやすい
JavaScriptを書いていると、色々な場面でbooleanがありがたいと思うようになりました。
なので、JSON->true
やJSON->false
が使えるのはとても助かります。
JSON::PPは標準モジュールです
今調べて知りましたが、JSON::PPは、v5.14から標準モジュールとして使えるようです。
昨今の状況からすると、v5.14が使える環境が用意できるということは、おそらくcpanmも使えると思いますので、JSONを扱うのであればJSON::MaybeXS
を使わない手はないと思います。
- JSON::MaybeXS - Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP - metacpan.org
- Cpanel::JSON::XS - JSON::XS for Cpanel, fast and correct serialising, also for 5.6.2 - metacpan.org
- JSON::XS - JSON serialising/deserialising, done correctly and fast - metacpan.org
- JSON::PP - JSON::XS compatible pure-Perl module. - metacpan.org
- JSON - JSON (JavaScript Object Notation) encoder/decoder - metacpan.org
- JSONの紹介