---
name: "Catmandu::Exporter::MARC::MiJ"
section: "3pm"
platform: "linux"
package: "libcatmandu-marc-perl"
version: "1.320-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::Exporter::MARC::MiJ"
---

# Catmandu::Exporter::MARC::MiJ(3pm)

Exporter for MARC records to MARC in JSON

## NAME

Catmandu::Exporter::MARC::MiJ - Exporter for MARC records to MARC in JSON

## SYNOPSIS

```
    # From the command line
    $ catmandu convert MARC --type XML to MARC --type MiJ < /foo/bar.xml
    # From Perl
    use Catmandu;
    my $importer = Catmandu->importer('MARC', file => "/foo/bar.xml" , type => 'XML');
    my $exporter = Catmandu->exporter('MARC', file => "bar.json", type => 'MiJ' );
    $exporter->add($importer);
    $exporter->commit;
```

## CONFIGURATION

- file

  Write output to a local file given by its path or file handle.  Alternatively a scalar reference can be passed to write to a string and a code reference can be used to write to a callback function.

- fh

  Write the output to an IO::Handle. If not specified, Catmandu::Util::io is used to create the output handle from the `"file"` argument or by using STDOUT.

- fix

  An ARRAY of one or more fixes or file scripts to be applied to exported items.

- encoding

  Binmode of the output stream `"fh"`. Set to "`":utf8"`" by default.

## METHODS

See Catmandu::Exporter, Catmandu::Addable, Catmandu::Fixable, Catmandu::Counter, and Catmandu::Logger for a full list of methods.

## FORMAT

The MARC-in-JSON record format contains two fields:

```
   * 'leader' - the MARC leader
   * 'fields' - an array of MARC fields
```

Each item in the MARC fields array contains the MARC tag and as value a hash containing three fields:

```
   * 'subfields' - an array of MARC subfields
   * 'ind1' - the first indicator of the MARC tag
   * 'ind2' - the second indicator of the MARC tag
```

Each subfield item is an hash containing the MARC subfield tag and its value.

An example of one MARC record in the MiJ serialization format is given below:

```
    {
      "leader": "0000cam  2200000   4500",
      "fields": [
        {
          "100": {
            "subfields": [
              {
                "a": "Huberman, Leo,"
              },
              {
                "d": "1903-1968."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        {
          "700": {
            "subfields": [
              {
                "a": "Sweezy, Paul M."
              },
              {
                "q": "(Paul Marlor),"
              },
              {
                "d": "1910-2004."
              }
            ],
            "ind1": "1",
            "ind2": " "
          }
        },
        ...
    }
```

## SEE ALSO

Catmandu::Exporter
