Symfony 4: лишние слэши в ответе JSON - PullRequest
1 голос
/ 09 мая 2019

Доброе утро, ребята,

У меня проблема с моим Symfony 4 Api.

Я должен вернуть ответ json, но сериализатор возвращает строку с косой чертой. Я не знаю, как избежать этого.

Ниже мой контроллер:


use App\Entity\Category;
use App\Form\CategoryType;
use App\Repository\CategoryRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Serializer\SerializerInterface as SerializerInterfaceAlias;
use FOS\RestBundle\Controller\Annotations as Rest;

/**
 * Category Controller
 * @Route("/api", name="api_")
 */
class CategoryController extends AbstractController
{
    /**
     * @Rest\Get("/categories")
     * @param CategoryRepository $categoryRepository
     * @param SerializerInterfaceAlias $serializer
     */
    public function index(CategoryRepository $categoryRepository, SerializerInterfaceAlias $serializer)
    {
        $jsonContent = $serializer->serialize($categoryRepository->findall(), 'json', ['json_encode_options' => JSON_UNESCAPED_SLASHES]);
        return $jsonContent;
    }
[....]
}

И мое возвращение выглядит так:

"[{\"id\":3,\"name\":\"toto\",\"logo\":\"tata\",\"description\":\"lolo\",\"dateCreated\":\"2019-05-09T10:30:39+00:00\"},{\"id\":4,\"name\":\"tata\",\"logo\":\"titi\",\"description\":\"tutu\",\"dateCreated\":\"2019-05-09T10:30:49+00:00\"}]"

Для информации я использую PHP 7.1 & Symfony 4.2 .

Итак, я хочу правильный формат json ... без этой косой черты: (

У вас есть предложения? :)

Заранее спасибо!

1 Ответ

1 голос
/ 13 мая 2019

Я наконец решил свою проблему #RubberDuckDebugging

Мне не нужно использовать сериализатор здесь.

Мне нужно просто вернуть:

return $this->json($categoryRepository->findall());

Это так просто.Извините :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...