original_string: function toJSON()
      {
          $json = new StdClass();
          $json->leader = utf8_encode($this->getLeader());
  
          /* Start fields */
          $fields = array();
          foreach ($this->fields as $field) {
              if (!$field->isEmpty()) {
                  switch(get_class($field)) {
                  case "File_MARC_Control_Field":
                      $fields[] = array(utf8_encode($field->getTag()) => utf8_encode($field->getData()));
                      break;
  
                  case "File_MARC_Data_Field":
                      $subs = array();
                      foreach ($field->getSubfields() as $sf) {
                          $subs[] = array(utf8_encode($sf->getCode()) => utf8_encode($sf->getData()));
                      }
                      $contents = new StdClass();
                      $contents->ind1 = utf8_encode($field->getIndicator(1));
                      $contents->ind2 = utf8_encode($field->getIndicator(2));
                      $contents->subfields = $subs;
                      $fields[] = array(utf8_encode($field->getTag()) => $contents);
                      break;
                  }
              }
          }
          /* End fields and record */
  
          $json->fields = $fields;
          $json_rec = json_encode($json);
          // Required because json_encode() does not let us stringify integer keys
          return preg_replace('/("subfields":)(.*?)\["([^\"]+?)"\]/', '\1\2{"0":"\3"}', $json_rec);
      }
code: function toJSON()
      {
          $json = new StdClass();
          $json->leader = utf8_encode($this->getLeader());
  
          /* Start fields */
          $fields = array();
          foreach ($this->fields as $field) {
              if (!$field->isEmpty()) {
                  switch(get_class($field)) {
                  case "File_MARC_Control_Field":
                      $fields[] = array(utf8_encode($field->getTag()) => utf8_encode($field->getData()));
                      break;
  
                  case "File_MARC_Data_Field":
                      $subs = array();
                      foreach ($field->getSubfields() as $sf) {
                          $subs[] = array(utf8_encode($sf->getCode()) => utf8_encode($sf->getData()));
                      }
                      $contents = new StdClass();
                      $contents->ind1 = utf8_encode($field->getIndicator(1));
                      $contents->ind2 = utf8_encode($field->getIndicator(2));
                      $contents->subfields = $subs;
                      $fields[] = array(utf8_encode($field->getTag()) => $contents);
                      break;
                  }
              }
          }
          /* End fields and record */
  
          $json->fields = $fields;
          $json_rec = json_encode($json);
          // Required because json_encode() does not let us stringify integer keys
          return preg_replace('/("subfields":)(.*?)\["([^\"]+?)"\]/', '\1\2{"0":"\3"}', $json_rec);
      }
code_tokens: function toJSON ( ) { $ json = new StdClass ( ) ; $ json -> leader = utf8_encode ( $ this -> getLeader ( ) ) ; /* Start fields */ $ fields = array ( ) ; foreach ( $ this -> fields as $ field ) { if ( ! $ field -> isEmpty ( ) ) { switch ( get_class ( $ field ) ) { case "File_MARC_Control_Field" : $ fields [ ] = array ( utf8_encode ( $ field -> getTag ( ) ) => utf8_encode ( $ field -> getData ( ) ) ) ; break ; case "File_MARC_Data_Field" : $ subs = array ( ) ; foreach ( $ field -> getSubfields ( ) as $ sf ) { $ subs [ ] = array ( utf8_encode ( $ sf -> getCode ( ) ) => utf8_encode ( $ sf -> getData ( ) ) ) ; } $ contents = new StdClass ( ) ; $ contents -> ind1 = utf8_encode ( $ field -> getIndicator ( 1 ) ) ; $ contents -> ind2 = utf8_encode ( $ field -> getIndicator ( 2 ) ) ; $ contents -> subfields = $ subs ; $ fields [ ] = array ( utf8_encode ( $ field -> getTag ( ) ) => $ contents ) ; break ; } } } /* End fields and record */ $ json -> fields = $ fields ; $ json_rec = json_encode ( $ json ) ; // Required because json_encode() does not let us stringify integer keys return preg_replace ( '/("subfields":)(.*?)\["([^\"]+?)"\]/' , '\1\2{"0":"\3"}' , $ json_rec ) ; }
docstring: Return the MARC record in JSON format
  
  This method produces a JSON representation of a MARC record. The input
  encoding must be UTF8, otherwise the returned values will be corrupted.
  
  @return string          representation of MARC record in JSON format
  
  @todo Fix encoding input / output issues (PHP 6.0 required?)
docstring_tokens: Return the MARC record in JSON format