繁体   English   中英

空JSON返回-Symfony3

[英]Empty JSON Return - Symfony3

我是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);
}

在此处输入图片说明

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

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

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

return new JsonResponse($restresult);

存储库方法findAll返回对象数组。 当您对具有私有属性的对象使用json_encode时,除非您实现JsonSerialize接口 ,否则它将返回{}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM