Как работать с большим JSON файлом?
Парсите JSON в базу данных. С подходящими индексами поиск будет очень быстрым.
Мне приходилось работать с JSON файлами по несколько гигов размером (6 - 7, если не изменяет память). Такой большой файл долго и монолитно грузится, плохо помещается в память в виде объектной модели, в общем так себе идея делать такие файлы, но поставщик данных предоставляет их именно в этом виде и работать надо.
Поэтому я соорудил простенькую утилитку, которая представляет собой своеобразный SAX парсер, но для JSON.
Утилита принимает огромный JSON в виде текстового потока данных, реагирует на открытие и закрытие тегов и выдаёт куски поэлементно в виде последовательности отдельных JSON строк, разделенных абзацами (в соответствии с RFC7464).
С таким потоком небольших однотипных кусков справляться гораздо проще.
Потом, кстати, мне подсказали, что известная и замечательная утилита JQ тоже умеет работать в таком режиме (SAX). Но свою задачу я уже к тому времени решил и в тонкости параметров командной строки для такого режима JQ не углублялся.