Вот как я делаю это без предварительной распаковки файла:
con <- gzfile("file.json.gz", "rt")
lines <- readLines(con)
close(con)
df <- jsonlite::stream_in(textConnection(lines), verbose = FALSE)
Здесь используется построчная обработка JSON, единственного формата JSON, с которым я столкнулся. в дикой природе.