Esta clase debe estar escrita en MY_Controller.php
ya que CodeIgniter no tiene otro mecanismo no invasivo para autocargar clases que extiendan el núcleo.
Lo que hace es capturar el retorno de los métodos del controlador y convertirlos a JSON.
Usualmente hacemos
// omitido para brevedad
public function metodo_json(){
$data = array(/*.....*/);
header('Content-Type: application/json');
echo json_encode($data);
exit;
}
para imprimir JSON, pero llamar a exit corta el trabajo del output class
usualmente no se nota, pero hay casos.
Snippet usando JSON_Controller
public function metodo_json(){
$data = array(/*.....*/);
return $data;
}