Last Updated: September 29, 2021
·
550
· dylanlukes

Magento: JSON Routes

To respond to a route (assuming you have the controller set up already) with JSON:

public function foobarAction {
  $obj = getSomeObjectOrSimpleXML();
  Mage::app()->getResponse()
    ->setHeader('Content-Type', 'application/json', true)
    ->setBody(Mage::helper('core')->jsonEncode($obj));
}

Make sure you include the final parameter to setHeader. While not completely necessary, it ensures that we overwrite any previously set Content-Type.