Handler returns a plain PHP array. The framework auto-encodes it as JSON and sets Content-Type: application/json. No need to call $response->json().
GET /demo/response/json {
"framework": "ZealPHP",
"async": true,
"engine": "OpenSwoole",
"time": 1779398214
}