Decoded JSON wartości logiczne są obiektami:W Perl, sprawdzanie json dekodowane wartość logiczną
#!/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;
wyjściowa:
$VAR1 = {
'boolean_field' => bless(do{\(my $o = 1)}, 'JSON::XS::Boolean')
};
Z JSON.pm documentation wiem o trzech następujących metod:
- JSON :: is_bool
- JSON :: true
- JSON :: fałszywe
Jednak z jakiegoś głupiego powodu nie wiem, jak ustalić, czy wartość „boolean_field” w $decoded_json
jest prawdziwe, czy fałszywe.
(Przepraszamy za bardzo podstawowe pytanie, to było doprowadza mnie Batty!)
Część zamieszania prawdopodobnie pochodzi od samego Perla - ** Perl nie ma typów boolowskich ** w języku. Ma tylko prawdę. Wybierając język dla projektów, jest to jedna rzecz do rozważenia, szczególnie dla użytkowników interfejsów API JSON. –