Web services symfony2中的空白json数组

Web services symfony2中的空白json数组,web-services,symfony,json,symfony-2.3,Web Services,Symfony,Json,Symfony 2.3,我正在用symfony2编写webservice,但是在输出方面我遇到了一些问题,因为它提供了空白输出 class DefaultController extends Controller { /** * * @Route("/webservices/activity/{id}", name="user_json_activity") * @Method("get") */ public function activityAction($id) { $em = $this-&g

我正在用symfony2编写webservice,但是在输出方面我遇到了一些问题,因为它提供了空白输出

class DefaultController extends Controller {

/**
 *
 * @Route("/webservices/activity/{id}", name="user_json_activity")
 * @Method("get")
 */
public function activityAction($id) {
    $em = $this->getDoctrine()->getEntityManager();
    $list = $em->getRepository('FitugowebserviceBundle:activity')->findOneById($id);

    $r_array = $this->routes2Array($list);

    $r = array('activity' => $r_array);

    return new Response(json_encode($r));
}

private function routes2Array($routes) {

    $points_array = array();
    foreach ($routes as $route) {


        $r_array = array('activity' => $route->getActivity(),
            'icon' => $route->getIcon());



        $points_array[] = $r_array;
    }

    return $points_array;
}
}

当我尝试获取id=1的数据时,它给出如下输出


{“activity”:[]}

使用
findOneById
方法获取数组,这看起来很奇怪。我建议的第一件事是添加一个检查,检查由id创建的实体是否存在。然后查看
findOneById
返回并检查控制器逻辑。

您的问题与Symfony无关。仔细检查构建返回阵列的逻辑。顺便说一句,您可以使用JsonResponse。