Last Updated: September 29, 2021
·
766
· 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.

Have a fresh tip? Share with Coderwall community!

Post
Post a tip
Did you know?

PHP applications still send a browser full of JavaScript. Hardening the server does not inventory the payment, analytics, and plugin scripts that run after the HTML is delivered.

Security insights from Cside