空的 JSON 返回 - Symfony3

Oli*_*vio 2 php json symfony

我是 PHP 和 Symfony 3 的初学者,我遇到了一个问题:json_encode 返回空对象。您可以检查下面的图像和代码。

/**
 * @Rest\Get("/user")
 */
public function getAction()
{
    $restresult = $this->getDoctrine()->getRepository('AppBundle:User')->findAll();
    if ($restresult === null) {
        return new View("there are no users exist", Response::HTTP_NOT_FOUND);
    }

    return new Response(json_encode($restresult), Response::HTTP_OK);
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Sma*_*ïne 5

我认为这是因为 findAll() 方法返回一个对象数组,您应该在存储库中个性化您的方法以获取数组结果,

public function findAllArray()
 {
     $qb = $this
         ->createQueryBuilder('u')
         ->select('u');
     return $qb->getQuery()->getArrayResult();
 }
Run Code Online (Sandbox Code Playgroud)

另一件事,在 Symfony 中你可以使用 New JsonResponse 来发送 Json 数据

return new JsonResponse($restresult);
Run Code Online (Sandbox Code Playgroud)