试图调用方法" fromJsonString" on class" Symfony \ Component \ HttpFoundation \ JsonResponse"

时间:2018-05-14 07:42:01

标签: php json symfony

我试图在symfony控制器中使用json响应。我已将此作为资源导入控制器中,如图所示

use Symfony\Component\HttpFoundation\JsonResponse;

我试图在这里使用json响应

$serializer = $this->container->get('jms_serializer');
        $json = $serializer->serialize($idata, 'json');
        $response = JsonResponse::fromJsonString($json); //this is the error line
  

试图从JsonString"调用方法" on class" Symfony \ Component \ HttpFoundation \ JsonResponse"在xxxx第180行

为什么我收到此错误

1 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪个版本的symfony,但在较新版本中,您不需要导入该类。如果您的控制器中有动作,您可以像这样使用它:

return $this->json(['key' => 'value'];

你可以在这里找到一个例子。

https://symfony.com/doc/current/controller.html#returning-json-response

旧版本:

use Symfony\Component\HttpFoundation\JsonResponse;

$json = json_encode($idata);
return JsonResponse::fromJsonString($json);

https://symfony.com/doc/current/components/http_foundation.html#creating-a-json-response

您应该测试使用正常的php函数对json数据进行编码。