package MARC::Moose::Parser::Json;
# ABSTRACT: Parser for JSON records
$MARC::Moose::Parser::Json::VERSION = '1.0.49';
use Moose;
extends 'MARC::Moose::Parser';
use JSON;
override 'parse' => sub {
my ($self, $raw) = @_;
return unless $raw;
my $json = from_json($raw);
my @jfields = @{$json->{fields}};
my @fields;
while ( @jfields ) {
my $tag = shift @jfields;
value => $value );
}
}
my $record = MARC::Moose::Record->new(
leader => $json->{leader},
fields => \@fields );
$record->lint($self->lint) if $record->lint;
ret
package MARC::Moose::Formater::Json;
# ABSTRACT: Record formater into a Json representation
$MARC::Moose::Formater::Json::VERSION = '1.0.49';
use Moose;
extends 'MARC::Moose::Formater';
use MARC::Mo
ose::Field::Control;
use MARC::Moose::Field::Std;
use JSON;
has pretty => ( is => 'rw', isa => 'Bool', default => 0 );
override 'format' => sub {
my ($self, $record) = @_;
my $rec = {
o_json($rec, { pretty => $self->pretty } ) . ",\n";
};
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
MARC::Moose::Formater::Json - Record formater into a Json r
oose;
use Modern::Perl;
use Carp;
use MARC::Moose::Formater::Iso2709;
use MARC::Moose::Formater::Json;
use MARC::Moose::Formater::Legacy;
use MARC::Moose::Formater::Marcxml;
use MARC::Moose::Formater
cxmlSax;
use MARC::Moose::Parser::Legacy;
use MARC::Moose::Parser::Yaml;
use MARC::Moose::Parser::Json;
with 'MARC::Moose::Lint::Checker';
has lint => (
is => 'rw',
);
has leader => (
is
iso2709 => MARC::Moose::Formater::Iso2709->new(),
json => MARC::Moose::Formater::Json->new(),
legacy => MARC::Moose::Formater::Legacy->
$MARC::Moose::Parser::Marcedit::VERSION = '1.0.49';
use Moose;
extends 'MARC::Moose::Parser';
use JSON;
override 'parse' => sub {
my ($self, $raw) = @_;
return unless $raw;
my @fields;