解码的
JSON布尔是对象:
#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use JSON; my $json_string = '{"boolean_field":true}'; my $decoded_json = from_json $json_string; print Dumper $decoded_json;
输出:
$VAR1 = { 'boolean_field' => bless( do{\(my $o = 1)},'JSON::XS::Boolean' ) };
从JSON.pm documentation我知道以下三种方法:
> JSON :: is_bool
> JSON :: true
> JSON :: false
然而,由于某些愚蠢的原因,我不知道如何确定$decoded_json中的’boolean_field’的值是true还是false.
(对不起,非常基本的问题,它一直在驱动我蝙蝠!)
解决方法
这在Perl将是一个真实的价值.只需正常访问它.
print 'true' if $decoded_json->{'boolean_field'};