微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 从一个巨大的(> 200MB)数组文件加载随机对象而不加载整个数组

我正在构建一个静态Angular网站,其数据基于来自包含超过200,000个JSON对象的大型数组中的1000个随机对象.我在网上某处以文本形式存储大量JSON对象(如Github或DropBox),文本文件大小超过200MB.由于性能问题,显然不是加载网站中所有数据的选项,但我也不想使用数据库,因为我正在构建一个静态网站.如何在不加载整个数组的情况下,只从200,000个对象中随机加载1000个对象?

解决方法:

您可以尝试仅下载文件的第一个部分块并尝试使用它.

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

您可以使用Angular的HTTP服务发出GET请求,但会将Range:bytes = 0-1023添加到标头中.其中0-1023定义了您要获取的字节数(使用开始和结束范围).

如果服务器支持功能,那么您将必须清理从服务器获取的字符串JSON.由于JSON将在完成之前被切断.

我不知道JSON的结构是什么.很难说这是否是一个实用的解决方案,但如果它是一个JSON对象数组.你可以尝试找到一个字节范围,该字节范围以数组分隔符结束,字符只是追加到字符串的末尾.

如果你需要文件随机部分.您将为不同的部分块发出多个GET请求,然后尝试清理JSON以使其有效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐