2016-10-16 3 views
3

Ich habe ein kleines Problem. Vielleicht hat jemand eine Idee.Symfony JsonResponse mit Serializer

Ich benutze Serializer auf folgende Weise. Das Problem, dass die Funktion json_encode zweimal angewendet wird.

Zuerst, wenn ich $ Serializer-> serialisieren ($ post, 'Json');

Zweite Zeit in $ response-> setData();

Also, um zu dekodieren, brauche ich Call-Funktion zweimal.

Irgendwelche Ideen?

+0

' 'data' => $ Post'? –

+0

Dann habe ich Probleme mit der Codierung meiner Entität und Zirkelverweis. Auch wenn Entität JsonSerializable implementiert. – Tapakan

Antwort

3

Das Objekt wird zweimal codiert, da Sie eine jsonresponse verwenden, stattdessen eine einfache Antwort verwenden. Außerdem kodieren Sie die gesamten Daten, nicht nur einen Teil davon. Als Beispiel:

$responseData = [ 
    'status' => true, 
    'data' => $post 
]; 

$response = new Response(
    $serializer->serialize($$responseData, 'json'), 
    Response::HTTP_OK, 
    ['Content-type' => 'application/json'] 
); 

return $response: 

Hope this Hilfe

+1

Danke. Lösung gefunden, die getValues ​​() bei PersistantCollection aufruft. Und JsonSerializable in Entity implementieren. Ohne Serializer. – Tapakan

Verwandte Themen