Подключаем serializer в config.yml
# config.yml
framework:
serializer:
enabled: true
Используем в контроллере
use Symfony\Component\Serializer\SerializerInterface;
public function pagesPageAction(Request $request, EntityManagerInterface $em, SerializerInterface $serializer)
{
$repo = $em->getRepository('AppBundle:Cat');
$cat_array = $repo->getCatArray(['id'=>0, 'bild_url'=>true, 'show_in_mane'=>true]);
// or
// $serializer = $this->get('serializer');
$cat_array = $serializer->normalize($cat_array);
return $this->json( $cat_array );
// or
// return new JsonResponse( $cat_array );
}
Ещё 1 вариант подготовки данных для ajax
public function ajax_orig($data)
{
$serializer = $this->get('serializer');
$data = $serializer->normalize($data);
$response = new Response( json_encode ($data, JSON_UNESCAPED_UNICODE) );
$response->headers->set('Content-Type', 'application/json; charset=UTF-8');
$response->headers->set('Content-Type', 'charset=UTF-8');
return $response;
}