diff --git a/src/Pecee/Http/Response.php b/src/Pecee/Http/Response.php index c60743d..2fed825 100644 --- a/src/Pecee/Http/Response.php +++ b/src/Pecee/Http/Response.php @@ -69,13 +69,19 @@ class Response { } /** - * Json encode array - * @param array $value + * Json encode + * @param array|\JsonSerializable $value + * @throws \InvalidArgumentException; */ - public function json(array $value) { + public function json($value) { + + if(($value instanceof \JsonSerializable) === false && is_array($value) === false) { + throw new \InvalidArgumentException('Invalid type for parameter "value". Must be of type array or object implementing the \JsonSerializable interface.'); + } + $this->header('Content-type: application/json'); echo json_encode($value); - die(); + exit(0); } /**