Загрузка случайных объектов из огромного (> 200 МБ) файла массива без загрузки всего массива - PullRequest
0 голосов
/ 06 июня 2018

Я создаю статический сайт Angular, данные которого основаны на 1000 случайных объектах из огромного массива, который содержит более 200 000 объектов JSON.Я храню огромный массив объектов JSON в текстовой форме где-то в сети (например, Github или Dropbox), а размер текстового файла превышает 200 МБ.Очевидно, что нельзя загружать все данные на веб-сайте из-за проблем с производительностью, но я также не хочу использовать базу данных, так как я создаю статический веб-сайт.Как я могу случайно загрузить только 1000 объектов из 200 000 без загрузки всего массива?

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете попытаться загрузить только первый частичный фрагмент файла и попытаться использовать его.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests

Вы могли бы использовать службу HTTP Angular для создания GETзапрос, но добавит Range: bytes=0-1023 к заголовкам.Где 0-1023 определяет количество байтов, которые вы хотите получить (используя начальный и конечный диапазоны).

Если сервер поддерживает эту функцию, вам придется очистить строку JSON, которая выбираетсяс сервера.Поскольку JSON будет отключен до его завершения.

Я не знаю, какова структура JSON.Трудно сказать, является ли это практическим решением, но если это массив объектов JSON.Вы можете попытаться найти диапазон байтов, который заканчивается символом-разделителем , и просто добавить ] к концу строки.

Если вам нужны случайные части файла.Вы должны сделать несколько запросов GET для различных частичных фрагментов, а затем попытаться очистить JSON, чтобы он действовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...