Pracuję nad skryptem cron, który uderza w API, odbiera plik JSON (duża liczba obiektów) i przechowuje go lokalnie. Gdy to się zakończy, inny skrypt musi przeanalizować pobrany plik JSON i wstawić każdy obiekt do bazy danych MySQL.Parsowanie dużego pliku JSON
Obecnie używam file_get_contents()
wraz z json_decode()
. Spowoduje to odczytanie całego pliku w pamięci przed próbą jego przetworzenia. Byłoby dobrze, z wyjątkiem faktu, że moje pliki JSON będą zwykle w zakresie od 250 MB-1 GB +. Wiem, że mogę zwiększyć mój limit pamięci PHP, ale to nie wydaje się być najlepszą odpowiedzią w mojej głowie. Jestem świadomy, że mogę uruchomić fopen()
i fgets()
, aby odczytać plik w linii po wierszu, ale muszę odczytać plik przez każdy obiekt Json.
Czy istnieje sposób odczytu w pliku na obiekt, czy istnieje inne podobne podejście?
ten [post] (http://stackoverflow.com/questions/4049428/processing-large-json-files-in-php) może pomóc ... –
Dlaczego są tak duże pliki JSON? –
dobry żal! odpowiedź 1gig z połączenia API ?? To jest szalone. Czy deweloperzy nigdy nie słyszeli o koncepcji stronicowania. – Spudley