![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam dość sporego JSON`a (172 MB) którego oczywiście chcę jakoś przeczytać, jednak json_decode() zwraca błąd nr. 5 - JSON_ERROR_UTF8 "Nieprawidłowe znaki UTF-8. Możliwe, że nieprawidłowo zakodowane". Większość edytorów pc/online gubi się przy tak dużym pliku (albo zżera mi ram i procesor, albo otwiera się np. w sublime text aczkolwiek poruszanie się po nim nie należy do przyjemnych - jedno przewinięcie kilka sekund i kolejne). W jaki inny sposób mogę zidentyfikować i poprawić ten błąd? Macie jakieś pomysły? PS. dokładnie jest to geojson - ale struktura jest taka sama jak json. Próbowałem z :
jednak bez efektów. Ed. 1 mb_detect_encoding zwraca UTF-8 Ed. 2 Podzieliłem go na 180 partów. Żeby łatwo wyłapać początek i koniec: Początek - http://wklej.to/LtAQp Koniec - http://wklej.to/d1zu4 Struktura wydaje się być w porządku - tylko ten problem z kodowaniem. Ed. 3 Problem rozwiązany. Ed. 4 Jednak problem dalej istnieje. Główny problem to json_decode który przy pliku *.json ważącym 180 MB potrafi zeżreć kilka GB ram-u (lokalnie serwer padł przy 2 GB, drugi serwer zatrzymał się na 3.5 GB). Wiecie czemu tak jest? Rozwiązaniem było stremowanie pliku *.json tak aby ograniczyć zużycie RAM`u. Używałem tych dwóch bibliotek: https://github.com/salsify/jsonstreamingparser - Po ok. 30 minutach skrypt się wysypał z tym samym skutkiem (brak RAM`u). https://github.com/kuma-giyomu/JSONParser - Po ok. 10 minutach skrypt się wysypał "Terminated" Spotkał się ktoś z Was kiedyś z takim problemem? Macie jakieś pomysły? @up pomoc nadal potrzebna, problem jednak nie jest rozwiązany a może ktoś coś podpowie ![]() Ten post edytował markuz 16.02.2015, 17:49:54 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:15 |