Sto lavorando a uno script cron che raggiunge un'API, riceve file JSON (una grande serie di oggetti) e lo memorizza localmente. Una volta completato, un altro script deve analizzare il file JSON scaricato e inserire ciascun oggetto in un database MySQL.File JSON di grandi dimensioni
Attualmente sto utilizzando uno file_get_contents()
insieme a json_decode()
. Questo tenterà di leggere l'intero file in memoria prima di tentare di elaborarlo. Questo andrebbe bene a parte il fatto che i miei file JSON di solito vanno da 250MB-1GB +. So che posso aumentare il mio limite di memoria PHP, ma questa non sembra essere la risposta migliore nella mia mente. Sono consapevole che posso eseguire fopen()
e fgets()
per leggere il file riga per riga, ma ho bisogno di leggere il file in ogni oggetto json.
C'è un modo per leggere nel file per oggetto oppure esiste un altro approccio simile?
questo [messaggio] (http://stackoverflow.com/questions/4049428/processing-large-json-files-in-php) possono aiutare a ... –
Perché sono file così grande il JSON? –
buon dolore! una risposta 1gig da una chiamata API ?? È folle. Gli sviluppatori non hanno mai sentito parlare del concetto di paginazione. – Spudley