Symfony使用JMS Serializer和JsonResponse

Sto*_*eak 2 json symfony jmsserializerbundle

在Symfony应用程序中,可以在调用JsonResponse()控制器时使用JMS序列化程序吗?

$response = new ApiResponse(ApiResponse::STATUS_SUCCESS);
return new JsonResponse($response); // <-- I would like to use the JMS serializer
Run Code Online (Sandbox Code Playgroud)

谢谢.

Vla*_*lav 5

在symfony 3的情况下,您可以使用:

    $json = $this->get("serializer")->serialize($response, 'json');
    return new JsonResponse($json, 200, [], true);
Run Code Online (Sandbox Code Playgroud)

在symfony 2的情况下,您没有最后一个参数,但您可以使用标准响应并指定内容类型:

    $response->headers->set('Content-Type', 'application/json');
Run Code Online (Sandbox Code Playgroud)