NAME¶
Catmandu::Importer::JSON - Package that imports JSON data
SYNOPSIS¶
use Catmandu::Importer::JSON;
my $importer = Catmandu::Importer::JSON->new(file => "/foo/bar.json");
my $n = $importer->each(sub {
my $hashref = $_[0];
# ...
});
The defaults assume a newline delimited JSON file:
{ "recordno": 1, "name": "Alpha" }
{ "recordno": 2, "name": "Beta" }
{ "recordno": 3, "name": "Gamma" }
Use the "multiline" option to parse pretty-printed JSON or JSON
arrays.
METHODS¶
new(file => $filename , fh => $fh , multiline => 0|1 ,fix => [...])¶
Create a new JSON importer for $filename. Uses STDIN when no filename is given.
"multiline" switches optionally between line-delimited JSON and
multiline JSON or arrays. the default is line-delimited JSON.
The constructor inherits the fix parameter from Catmandu::Fixable. When given,
then each fix or fix script will be applied to imported items.
count¶
each(&callback)¶
...¶
Every Catmandu::Importer is a Catmandu::Iterable all its methods are inherited.
The Catmandu::Importer::JSON methods are not idempotent: JSON streams can only
be read once.
SEE ALSO¶
Catmandu::Iterable