Yii2 - 如何强制响应JSON格式化程序使用对象而不是数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 - 如何强制响应JSON格式化程序使用对象而不是数组?相关的知识,希望对你有一定的参考价值。

我知道我可以设置Yii::$app->response->format = yiiwebResponse::FORMAT_JSON但是如何设置JSON编码标志JSON_FORCE_OBJECT以便所有数组都被编码为对象?

答案

好吧,不是那么难:

Yii::$app->response->formatters[yiiwebResponse::FORMAT_JSON] = [
    'class' => 'yiiwebJsonResponseFormatter',
    'encodeOptions' => JSON_FORCE_OBJECT,
];

或者甚至作为一个班轮:

Yii::$app->response->formatters[yiiwebResponse::FORMAT_JSON]['encodeOptions'] = JSON_FORCE_OBJECT;

以上是关于Yii2 - 如何强制响应JSON格式化程序使用对象而不是数组?的主要内容,如果未能解决你的问题,请参考以下文章

RESTful 响应如何在 Yii2 中返回 JSON 而不是 XML?

Yii2:如何强制使用fallback MessageFormatter方法?

强制 Chrome 显示格式为树结构的 Json 响应

如何在yii2 restful api中将两个表中的关系数据显示为json格式

Yii2 - JSONP 响应不返回任何内容(空白)并且不起作用,但 JSON 可以

如何在 yii 中以 json 格式(应用程序/json)获得响应?