通过Response类,设置合适的content和headers,即可创建任何类型的响应。一个JSON响应看起来像下面这样:
use Symfony\Component\HttpFoundation\Response; $response = new Response(); $response->setContent(json_encode(array( 'data' => 123, ))); $response->headers->set('Content-Type', 'application/json');
use Symfony\Component\HttpFoundation\JsonResponse; $response = new JsonResponse(); $response->setData(array( 'data' => 123 ));
这可以把你的data数组转换成JSON,然后设置其Content-Type头为application/json。
为了防止XSS|JSON Hijacking(JSON劫持),你应该传入一个关联数组作为JsonResponse最外层数组,而不是一个索引数组,这样一来最终结果就是一个对象:[{"object": "not inside an array"}]