$obj->{$k} = JSONObject2Perl($bool)
results in 'Modification of a read-only value attempted', while
$obj->{$k} = $bool
does not, even though the JSON::XS::Boolean object is not altered by JSONObject2Perl().
just missing something?
patched
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1664
9efc2488-bf62-4759-914b-
345cdb29e865
}
return undef;
}
- $obj->{$_} = $class->JSONObject2Perl($obj->{$_}) for (keys %$obj);
+ for my $k (keys %$obj) {
+ $obj->{$k} = (ref($obj->{$k}) eq 'JSON::XS::Boolean') ?
+ $obj->{$k} : $class->JSONObject2Perl($obj->{$k});
+ }
} elsif( $ref eq 'ARRAY' ) {
$obj->[$_] = $class->JSONObject2Perl($obj->[$_]) for(0..scalar(@$obj) - 1);
}