为什么这个json Symfony输出输出标题

时间:2012-07-18 08:11:56

标签: symfony drupal-8

这是我与Symfony和drupal 8玩耍的第一天,所以如果我的问题非常明显,请原谅。

使用drupal 7:

drupal_json_output(array('products' => array_values($products)));
exit; 

json输出是干净的:

{"products":["item_1","item_2",....]}

使用drupal 8:

use Symfony\Component\HttpFoundation\JsonResponse; 
// some process
print new JsonResponse(array('products' => array_values($products)));
exit;

用标题输出:

HTTP/1.0 200 OK
Cache-Control: no-cache
Content-Type:  application/json
Date:          Wed, 18 Jul 2012 07:53:26 GMT

{"products":["item_1","item_2",....]}

你如何摆脱这些标题?

我很难阅读参考资料here

非常感谢任何提示。

1 个答案:

答案 0 :(得分:2)

您只需拨打$response->getContent()即可获得回复的“内容”。

在你的情况下,你可以做到

use Symfony\Component\HttpFoundation\JsonResponse; 
// some process
$response = new JsonResponse(array('products' => array_values($products)));
print $response->getContent();
exit;

但是,请注意,这将是一种不好的做法,因为您将丢失流程中的响应标头,并且不会告诉您,例如,您的响应的内容类型是什么(在这种情况下:“application /” json“)等...

我不知道如何正确地使用drupal,任何提示都表示赞赏。