JSON(::XS|::PP)でのBoolean判定
2014年11月23日
APIをぶっ叩いて、jsonを受け取るとかよくある処理だと思いますけど、結果がBoolean(true|false)で返ってくる場合、なんとなく下記のように
if ( $json->{'is_ok'} eq 'true' ) { # ... }
なんてやってしまいがちですが・・そうじゃない。
use JSON; my $json_data = '{"is_ok": true}'; my $json = JSON->new->utf8->decode($json_data); if ( $json->{'is_ok'} ) { print 'true!!'; } else { print 'false'; }
eqを使わずに、そのままBoolean値として判定可能のようです。