Большой json массив (18мб), как получить переменные оттуда?

12
C
На сайте с 17.05.2012
Offline
69
clb
1682

Размер json массива 18 мб. Похоже что из за большого размера, jsone_decode не может обработать его. Ошибку получаю. Можно ли как то получить несколько данных из такого массива без использования jsone_decode?

ДП
На сайте с 23.11.2009
Offline
203
#1

Для php судя по всему - нет, для node.js есть модули - гуглите по json stream parser.

Ну либо регами, но это хз.

vob2014
На сайте с 30.03.2014
Offline
91
#2

20 мб парсил нормально на компе с 4 ГБ, может комп слабый и памяти не хватает?

...
C
На сайте с 26.10.2013
Offline
54
#3

С какой ошибкой падает jsone_decode ?

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
Jurgen s
На сайте с 21.05.2008
Offline
153
#4

А указать ошибку с которой выпадает не?

Может у вас просто гамнохостер который вам 32 метра дает и не больше...

ошибку в студию

http://police-ua.com/ (http://police-ua.com/) Форум сотрудников МВД Украины
C
На сайте с 17.05.2012
Offline
69
clb
#5

HTTP/1.1 500 Internal Server Error.

Хостинг не самый мощный конечно, но может есть другие варианты вывода нескольких элементов?

---------- Добавлено 05.10.2015 в 22:46 ----------

для проверки код такой сейчас

<?php

$wall = file_get_contents("http://site.ru/file.json");

$wall = json_decode($wall);

print_r($wall);

?>

C
На сайте с 26.10.2013
Offline
54
#6
clb:
HTTP/1.1 500 Internal Server Error.

Тогда в логах нужно смотреть более детальное описание ошибки.

Мое мнение, что просто памяти не хватает, но Error Log скажет точнее

R
На сайте с 20.02.2015
Offline
59
#7

Может print_r плохая идея? там скорее всего на выходе больше 20мб будет. А так да в логах смотрите, что вам говорит PHP.

Mad_Man
На сайте с 10.11.2008
Offline
162
#8
Дикий пионер:
Для php судя по всему - нет, для node.js есть модули - гуглите по json stream parser.

И с чего бы у пыха не нашлось поточных парсеров?

C
На сайте с 17.05.2012
Offline
69
clb
#9

Да, похоже памяти мало PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 81 bytes)

Может есть другие способы вывести данные из большого json? Без использования json_decode может как-то

ДП
На сайте с 23.11.2009
Offline
203
#10
Mad_Man:
И с чего бы у пыха не нашлось поточных парсеров?

Неплохо было бы подтвердить свои слова ссылочкой на поточный парсер JSON. Именно такого сразу и не нашлось, но ТС он наверняка понадобится, поделитесь?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий