-
json.msn
483 484 1 1 <%once> 2 2 3 3 use JSON::XS; 4 use Data::Recursive::Encode; 4 5 5 6 </%once> 6 7 <%args> … … 18 19 19 20 my ($prop) = grep { $_->{attr} eq $name } $object->structure; 20 21 my $class = $object->class; 21 my $is_extra = grep { ref $_ && $_->{attr} eq $name } $class->extra_properties ? 1 : 0; 22 my $is_extra = scalar (grep { ref $_ && $_->{attr} eq $name } $class->class_table->required_properties) ? 0 : 1; 22 23 23 24 my $result; 24 25 if ( $is_extra && !$prop->{serialize} ) { 25 eval { $result = JSON::XS->new->decode( $SETS->{$name} ) }; 26 eval { $result = Data::Recursive::Encode->encode_utf8( JSON::XS->new->utf8->decode($SETS->{$name}) ) }; 26 27 } else { 27 28 $result = $SETS->{$name}; 28 29 } 30 warn "\nJSON\n"; 29 31 warn Dumper $result; 30 32 return $result; 31 33