gpt4 book ai didi

rest - 如何在yii2中将数组转换为json

转载 作者:行者123 更新时间:2023-12-04 01:29:05 26 4
gpt4 key购买 nike

我正在创建 restful apis我有一个在 yii1 中发送响应数据的功能像这样

public function sendResponse($data)
{
header('Content-Type: application/json; charset=utf-8');
echo CJSON::encode($data);
exit;
}
CJSONYii2 中不可用那么我该怎么做 Yii2

最佳答案

无需像那样手动设置标题。

在特定的操作/方法中,您可以这样设置:

use Yii;
use yii\web\Response;

...

public function actionIndex()
{
Yii::$app->response->format = Response::FORMAT_JSON;
}

然后之后只返回一个简单的数组:
return ['param' => $value];

您可以在官方文档 here 中找到此属性.

使用特殊的多个 Action ContentNegotiator过滤器是更灵活的方法:
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[
'class' => ContentNegotiator::className(),
'only' => ['index', 'view']
'formats' => [
'application/json' => Response::FORMAT_JSON,
],
],
];
}

还有更多设置,可以在 official docs查看.

REST,基础 yii\rest\Controller已经设置为 jsonxml :
'contentNegotiator' => [
'class' => ContentNegotiator::className(),
'formats' => [
'application/json' => Response::FORMAT_JSON,
'application/xml' => Response::FORMAT_XML,
],
],

关于rest - 如何在yii2中将数组转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com