我试图在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行
为什么我收到此错误
答案 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数据进行编码。