I just wanted to know that what is the right way to print array data into json format. I Know we can use php function json_encode() but is this the right way to print array data? Because i saw one of magento's core file, there was something like this
if (!$_isValidFormKey || !$_isValidSecretKey) { $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true); $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true); if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) { $this->getResponse()->representJson( $this->_objectManager->get( \Magento\Framework\Json\Helper\Data::class )->jsonEncode( ['error' => true, 'message' => $_keyErrorMsg] ) ); } else { $this->_redirect($this->_backendUrl->getStartupPageUrl()); } return false; } return true; } so if we look at this section
$this->getResponse()->representJson( $this->_objectManager->get( \Magento\Framework\Json\Helper\Data::class )->jsonEncode( ['error' => true, 'message' => $_keyErrorMsg] ) ); we see magento is encoding data using \Magento\Framework\Json\Helper\Data class.
I am working on custom APIs where i need to send data in json format. So please correct me if i am not wrong that we can also print Array data using this \Magento\Framework\Json\Helper\Data class.
Thankyou.