getDoctrine()->getManager(); $result = $em->getRepository('Ho-6ren">
gpt4 book ai didi

symfony -\u0022 而不是 ""与 JsonResponse symfony

转载 作者:行者123 更新时间:2023-12-04 17:45:29 24 4
gpt4 key购买 nike

我的问题是:
返回的数据有\u0022 而不是 ""。

$em=$this->getDoctrine()->getManager();
$result = $em->getRepository('HomeBundle:Product')->findAll();

$encoders = array(new XmlEncoder(), new JsonEncoder());
$normalizers = array(new ObjectNormalizer());
$serializer = new Serializer($normalizers, $encoders);

$jsonContent = $serializer->serialize($result,'json');

$response = new JsonResponse($jsonContent);
$response->headers->set('Content-Type', 'application/json');
return $response;

这就是我得到的
"[{\u0022id\u0022:1,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:3},{\u0022id\u0022:2,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:5},{\u0022id\u0022:3,\u0022name\u0022:\u0022oppv\u0022,\u0022price\u0022:16},{\u0022id\u0022:4,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:6},{\u0022id\u0022:5,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:7},{\u0022id\u0022:6,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:34},{\u0022id\u0022:7,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:56},{\u0022id\u0022:8,\u0022name\u0022:\u0022opp\u0022,\u0022price\u0022:30}]"

在此先感谢您的帮助

最佳答案

由于您的实体已经序列化,请更改您的 JsonResponseResponse :

use Symfony\Component\HttpFoundation\Response;

// ...
$response = new Response($jsonContent);
$response->headers->set('Content-Type', 'application/json');

return $response;

或者在创建您的 JsonResponse 之前解码您的结果:
return new JsonResponse(json_decode($jsonContent));

请注意 Content-TypeJsonResponse是自动 application/json ,无需设置。

关于symfony -\u0022 而不是 ""与 JsonResponse symfony,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973179/

24 4 0