@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の紹介