我正在尝试将响应数组转换为JSON格式.我已经尝试了在SO和其他网站上发布的所有答案,如web1,web2添加header('Content-Type: application/json')
,然后echo json_encode($data,JSON_PRETTY_PRINT);
我总是以文本格式获得输出.有人可以帮助我解决这个问题.
助手班级:
public static function renderJSON($data) { header('Content-Type: application/json'); echo json_encode($data,JSON_PRETTY_PRINT); }
我的控制器:
if ($model->login()) { $user = User::findByUsernameOrEmail($request->post('username')); $userArray = ArrayHelper::toArray($user); Helpers::renderJSON($userArray);
我试着打印userArray
它看起来像这样:
Array ( [name] => abc [lastname] => xyz [username] => test_test )
Json输出:(html/text)
{ "name": "abc", "lastname": "xyz", "username": "test_test" }
Bizley.. 38
组
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
在控制器的行动之前的某个地方return
.
组
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
在控制器的行动之前的某个地方return
.
从Yii 2.0.11开始,有一种专用asJson()
方法以JSON格式返回响应.跑:
return $this->asJson($array);
在你的控制器动作中.