2 # A light shim over JSON for DXSpider general purpose serialising
4 # Copyright (c) 2020 Dirk Koopman, G1TLH
13 use Data::Structure::Util qw(unbless);
14 use Scalar::Util qw(blessed);
22 return shift->SUPER::new()->canonical(1);
29 my $name = blessed $ref;
30 unbless($ref) if $name;
33 eval {$s = $json->SUPER::encode($ref) };
35 bless $ref, $name if $name;
40 dbg "DXJSON::encode '$s' - $@";
51 eval { $ref = $json->SUPER::decode($s) };
53 return bless $ref, $name if $name;
57 dbg "DXJSON::decode '$s' - $@";