use Cts;
use CtsConfig;
-use JSON;
+
+BEGIN {
+ if (eval "require JSON::PP;") {
+ *JSON_BIND:: = *JSON::PP::;
+ } else {
+ eval "require JSON;";
+ *JSON_BIND:: = *JSON::XS::;
+ }
+}
+
sub connectToCTS {
my $endpoint = shift;
my $query = $ENV{'QUERY_STRING'};
if ($query eq "init") {
- print JSON::XS->new->allow_blessed->convert_blessed->encode({
+ print JSON_BIND->new->allow_blessed->convert_blessed->encode({
'registers' => $cts->getRegisters,
'properties' => $cts->getProperties
});
$result{$key} = $op eq "read" ? $reg->read() : $reg->format();
}
- print JSON::XS->new->allow_blessed->convert_blessed->encode(\%result);
+ print JSON_BIND->new->allow_blessed->convert_blessed->encode(\%result);
} elsif ($query =~ /^write,([\w\d_,\.\[\]]+)$/) {
my @values = split /,/, $1;
my $regs = {};