やり方
コントローラー内で以下のようにするとできます。
function apiiii()
{
$json = '{"name":"John", "age":30, "car":null}';
$response = $this->response;
$response = $response->withStringBody($json);
$response = $response->withType('json');
return $response;
}
ほかのやり方
好みではないやり方
ちなみに以下のようなを見かけることがありますが、responseを返すとautoRenderがされなくなるので上のほうがスマートな気がします。
それと下だとヘッダー情報がつかなかったりするような気がします。(たぶん)
$this->autoRender = false;
echo '{"name":"John", "age":30, "car":null}';
公式はこの辺りが参考になります。