Ich habe ein Json-Objekt, das ich erhalten habe, indem ich einen get-API-Aufruf gemacht habe. Ich mache diesen Aufruf, um eine Liste von Objekten zu erhalten. Es ist eine Liste von Post ... Also ich habe eine Reihe von Post-Objekten.
Hier die Ausgabe:
%Vor%Ich möchte den Datenteil deserialisieren ... Das Problem ist, dass der Serializer in Symfony mir einen Fehler gibt ...
Der Fehler, den ich habe:
%Vor%Wie ich deserialize:
%Vor%Wie kann ich das Daten-Array deserialze ... Um ein Array von Posts zu haben. Ich möchte meiner Ansicht .twig ein Array geben Poste ... ich habe den Typ genau beim Deserialisieren gemacht ... also ich kann nicht finden was das Problem ist ...
Danke.
Der Fehler ist ziemlich klar. Ihre Zeichenfolge stimmt mit keiner vorhandenen Klasse überein.
Das Beispiel in der offiziellen Dokumentation sagt:
%Vor%In Ihrem Fall sollte es eher wie folgt aussehen:
%Vor%Aktualisierung:
Ok dann.
Zunächst scheint Ihre json-Datei nicht gültig zu sein (verwenden Sie Ссылка , um sie zu testen). Sei vorsichtig damit.
Zweitens müssen Sie Ihren json als Array mit
holen %Vor%und dann können Sie mit
auf jedes 'Daten' Array zugreifen %Vor%Ich denke, die beste Lösung ist hier, eine neue PosteResponse-Klasse wie diese zu erstellen:
%Vor%und Deserialisieren Sie Ihre Antwort auf diese Klasse:
%Vor%Das wird den Trick machen, und es erfordert nicht, dass Sie Ihren json manuell dekodieren und codieren, was meiner Meinung nach riddiculous ist.
Eine weniger als ideale Lösung, die ich fand, bestand darin, zuerst die json-Daten am Knoten, der das Datenfeld darstellt, zu dekodieren und dann zu codieren. Zum Beispiel in deinem Fall:
%Vor%Es muss eine bessere Lösung als diese geben, aber das scheint eleganter als die obige Lösung der Deserialisierung von json.
Tags und Links php json deserialization symfony jmsserializerbundle