Group
Extension

Matches 7

Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Reader/JSON.pm ( view source; MetaCPAN )
r::JSON;
use strict;
use warnings;
no warnings 'uninitialized';

our $VERSION = '0.8.04';

use parent 'Data::Transit::Reader';

use JSON;

sub _decode {
	my ($self, $data) = @_;
	return decode_json($d
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Writer/JSON.pm ( view source; MetaCPAN )
r::JSON;
use strict;
use warnings;
no warnings 'uninitialized';

our $VERSION = '0.8.04';

use parent 'Data::Transit::Writer';

use JSON;

sub _encode {
	my ($self, $data) = @_;
	return encode_json($d
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Reader.pm ( view source; MetaCPAN )
JSON;

sub new {
	my ($class, %args) = @_;
	return bless {
		%args,
		cache => [],
		cache_counter => 0,
	}, $class;
}

sub read {
	my ($self, $json) = @_;
	return $self->_convert($self->_decode($json


sub _convert {
	my ($self, $json) = @_;
	if (ref($json) eq 'ARRAY') {
		return $self->_convert($json->[1]) if $json->[0] eq "~#'";

		if ($self->_cache($json->[0], $json->[0] =~ /^~#/) =~ /^~#(.+)$/
$json[1..$#$json]);
		}

		return $self->_convert_map($json) if $json->[0] eq "^ ";
		return [map {$self->_convert($_)} @$json];
	} else {
		return "" if $json eq "~_";
		return $json ? 1 : 0 if JSON:
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit.pm ( view source; MetaCPAN )
e Data::Transit::Reader::JSON;
use Data::Transit::Reader::MessagePack;
use Data::Transit::Reader::JSONVerbose;
use Data::Transit::Writer::JSON;
use Data::Transit::Writer::JSONVerbose;
use Data::Transi
	use Data::Transit;

	my $writer = Data::Transit::writer($fh, 'json');
	$writer->write($value);

	my $reader = Data::Transit::reader('json');
	my $val = $reader->read($value);

For example:

	use Data
it::writer($fh, 'json');
	$writer->write(["abc", 12345]);

	my $reader = Data::Transit::reader('json');
	my $vals = $reader->read($output);

Instead of json, you may also provide json-verbose and mess
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Writer.pm ( view source; MetaCPAN )
it::Writer;
use strict;
use warnings;
no warnings 'uninitialized';

our $VERSION = '0.8.04';

use JSON;
use Carp qw(confess);

sub new {
	my ($class, $output, %args) = @_;
	bless {
		%args,
		output =
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Reader/JSONVerbose.pm ( view source; MetaCPAN )
ackage Data::Transit::Reader::JSONVerbose;
use strict;
use warnings;
no warnings 'uninitialized';

our $VERSION = '0.8.04';

use parent 'Data::Transit::Reader';

use JSON;
use List::MoreUtils qw(any);
rn decode_json($data);
}

sub _cache {
	my ($self, $data) = @_;
	return $data;
}

sub _convert {
	my ($self, $json) = @_;

	if (ref($json) eq 'HASH') {
		return $self->SUPER::_convert([%$json]) if any
 {$_ =~ /^~#/} keys %$json;
	}

	return $self->SUPER::_convert($json);
}

1;
Data-Transit ( L/LA/LACKITA/Data-Transit-0.8.04.tar.gz, LACKITA, 2015; MetaCPAN )
Data-Transit/lib/Data/Transit/Writer/JSONVerbose.pm ( view source; MetaCPAN )
ackage Data::Transit::Writer::JSONVerbose;
use strict;
use warnings;
no warnings 'uninitialized';

our $VERSION = '0.8.04';

use parent 'Data::Transit::Writer';

use JSON;

sub new {
	my ($self, $outp
eturn $self->SUPER::new($output, %args);
}

sub _encode {
	my ($self, $data) = @_;
	return encode_json($data);
}

sub _wrap_top_level_scalar {
	my ($self, $converted_data) = @_;
	return {"~#'" => $con

Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.