CakePHP4 の AppController でJSON形式で出力する _renderJson というメソッドを定義
class AppController extends Controller { (略) protected function _renderJson( $inOutput , $force = false) { // JSON で出力 $this->set('output', $inOutput); $this->viewBuilder() ->setClassName('Json') ->setOption('serialize', ['output']); if($force){ $this->viewBuilder()->setOption('jsonOptions', JSON_FORCE_OBJECT); } } }
呼び出しは
$students = ['students' => ['hoge','ふが','fuga']]; $this->_renderJson($students);
出力結果
{ "output": { "students": [ "hoge", "\u3075\u304c", "fuga" ] } }
第二パラメータをtrue
にすると
$this->_renderJson($students, true);
{ "output": { "students": { "0": "hoge", "1": "\u3075\u304c", "2": "fuga" } } }
東京造形大学卒業後、マクロメディア(現アドビ システムズ)に入社。Quality AssuranceやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、CakePHP、Laravel、Unity、ZBrush、Modo、Adobe Substance 3D、Adobe Firefly、Xcode、Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。