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:J'ai essayé d'utiliser une JsonResponse mais ce header réapparait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part HTTP/1.0 200 OK Cache-Control: no-cache Date: xxxx
Dans mon controller:
Dans mon repository:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Comment cela se fait-il?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function findAllArrayEvents() { return $this ->createQueryBuilder('a') ->getQuery() ->getArrayResult() ; }
Partager