Ich arbeite an einem Cron-Skript, das eine API trifft, JSON-Datei (eine große Reihe von Objekten) empfängt und lokal speichert. Sobald dies abgeschlossen ist, muss ein anderes Skript die heruntergeladene JSON-Datei analysieren und jedes Objekt in eine MySQL-Datenbank einfügen.Große JSON-Datei analysieren
Ich verwende derzeit eine file_get_contents()
zusammen mit json_decode()
. Dies wird versuchen, die gesamte Datei in den Speicher zu lesen, bevor Sie versuchen, sie zu verarbeiten. Dies wäre in Ordnung, außer dass meine JSON-Dateien in der Regel zwischen 250 MB und 1 GB liegen. Ich weiß, dass ich mein PHP-Speicherlimit erhöhen kann, aber das scheint mir nicht die beste Antwort zu sein. Ich bin mir bewusst, dass ich und fgets()
ausführen kann, um die Datei Zeile für Zeile zu lesen, aber ich muss die Datei von jedem JSON-Objekt lesen.
Gibt es eine Möglichkeit, die Datei pro Objekt einzulesen, oder gibt es einen anderen ähnlichen Ansatz?
diese [Beitrag] (http://stackoverflow.com/questions/4049428/processing-large-json-files-in-php) können Sie helfen ... –
Warum sind die JSON so große Dateien? –
gute Trauer! eine 1gig-Antwort von einem API-Aufruf ?? Das ist verrückt. Haben die Entwickler nie von dem Konzept der Seitennummerierung gehört? – Spudley