Задать вопрос
Chefranov
@Chefranov
Новичок

Как работать с большим JSON файлом?

Имеется JSON файл около 600 Мб. Сайт на Wordpress и на нем есть форма по типу поиска которая возвращает искомые данные из JSON.

Вот стоит вопрос, как правильно работать с таким JSON? Или может его конвертировать в что-то другое?

До этого я работал с JSON макс. 20 Мб и разруливал на JS, проблем не было. А тут 600 Мб и просто юзеру все 600Мб же не вывалишь...
  • Вопрос задан
  • 1485 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Парсите JSON в базу данных. С подходящими индексами поиск будет очень быстрым.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker
Программист, энтузиаст
Мне приходилось работать с JSON файлами по несколько гигов размером (6 - 7, если не изменяет память). Такой большой файл долго и монолитно грузится, плохо помещается в память в виде объектной модели, в общем так себе идея делать такие файлы, но поставщик данных предоставляет их именно в этом виде и работать надо.
Поэтому я соорудил простенькую утилитку, которая представляет собой своеобразный SAX парсер, но для JSON.
Утилита принимает огромный JSON в виде текстового потока данных, реагирует на открытие и закрытие тегов и выдаёт куски поэлементно в виде последовательности отдельных JSON строк, разделенных абзацами (в соответствии с RFC7464).
С таким потоком небольших однотипных кусков справляться гораздо проще.
Потом, кстати, мне подсказали, что известная и замечательная утилита JQ тоже умеет работать в таком режиме (SAX). Но свою задачу я уже к тому времени решил и в тонкости параметров командной строки для такого режима JQ не углублялся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽