jsonEncode: getArrayResult retourne clé avec crochet au lieu de double quote
Bonjour,
J'ai besoin de créer un fichier json à partir d'une entité. Lorsque j'encode le tableau retourné, les clés sont entre crochets et sont transformées en caractères spéciaux => inexploitable dans javascript.
Pour info, j'utilise renderView dans le controller pour enlever le header suivant dans le fichier final:
Code:
HTTP/1.0 200 OK Cache-Control: no-cache Date: xxxx
J'ai essayé d'utiliser une JsonResponse mais ce header réapparait.
Dans mon controller:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public function chargementEventAction()
{
$events = $this->getDoctrine()
->getManager()
->getRepository('LdbPlanningBundle:EventEntity')
->findAllArrayEvents();
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent($this->renderView('LdbPlanningBundle:planner:planning.html.twig', array('response' => json_encode($events))));
$response->headers->set('Content-Type', 'text/html');
return $response;
} |
Dans mon repository:
Code:
1 2 3 4 5 6 7 8 9 10 11
| public function findAllArrayEvents()
{
return $this
->createQueryBuilder('a')
->getQuery()
->getArrayResult()
;
} |
Comment cela se fait-il?