I\'m trying to convert and array of response into JSON format. I have tried all the answers that were posted on SO and other websites like web1,web2 adding header(\'Co
Since Yii 2.0.11 there is a dedicated asJson() method to return a response in JSON format. Run:
return $this->asJson($array);
in your controller action.
Simply Add this in controller
public function beforeAction($action)
{
\Yii::$app->response->format = Response::FORMAT_JSON;
return parent::beforeAction($action);
}
use yii\helpers\Json;
use yii\web\Response;
Firstly include the 2 lines above at the top of your controller, then in any of your Controller actions, just before the return statements, include the below
Yii::$app->response->format = Response::FORMAT_JSON;
return Json::encode([
'message' => 'success'
]);
You can build the return array as you deem fit.
Set
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
in the controller's action somewhere before return
.