если json большой, то это, как правило, список. и его вполне можно разбирать «лениво» через stream. я решал на хайлоад капе эту проблему как раз. даже если файл не разбит по строкам, то можно его кусками читать через
File.stream и кусками же парсить. есть либа Jaxon у нее есть возможность работать через stream. и там как раз всплесков по потреблению памяти уже избегаешь благодаря этому