【问题标题】:Huge json file and slow loading page巨大的 json 文件和缓慢的加载页面
【发布时间】:2021-05-20 21:17:06
【问题描述】:

我正在使用 javaScript 创建天气应用程序,并且正在使用 Open Weather Api。整个应用程序已完成,但我正在根据自己的需要对其进行修改。我输入了一个城市,现在我试图为输入添加一些提示,所以当用户在输入下输入“伦敦”时,会显示名称中包含“伦敦”的所有城市,例如:伦敦、伦敦德里等。我从 openweatherapi 页面下载了一个城市列表,但所有城市的 json 文件大约为 40MB。该文件太大了,当我在输入中输入“lond”时,我必须等待大约几秒钟,直到城市出现。还有我的问题。有没有办法加快搜索过程。

【问题讨论】:

  • 请添加更多详细信息,说明您如何在应用中使用此城市列表。意味着它是如何被包含的以及你如何搜索它。
  • 通常,您会在服务器端执行此匹配。这对你来说有可能吗?如果没有,你可以通过分割 JSON 文件来做一些非常棘手的事情,但这需要成千上万的文件和一个脚本来生成它们。
  • 我们如何知道是否有办法加速我们看不到的东西。尝试添加一些代码。
  • 这对 SO 来说似乎不是一个问题。但我想你可以做的一件事是经典的异步自动完成:在击键时查询第三方 API(最好使用去抖动),然后将结果显示给用户,而不是在本地存储一些巨大的城市列表。

标签: javascript json


【解决方案1】:

我会推荐使用第三方 API 或库(如果有的话)


但如果你想坚持你下载的文件并想使用它,那么:

也许你只是用多个数组创建一个对象,每个起始字母都有自己的数组。

obj = {a: [], b:[], ...} 一旦你写下第一个字母,你就开始过滤特定的数组?

obj['a'] = obj.a

【讨论】:

  • 我认为这不会有助于减小文件大小。但这可能有助于提高性能,尤其是当您在字符串中继续将事物拆分为对象时,这应该会产生一棵树。我认为这是一种常见的搜索优化技术,但我在名称上留有空白。
猜你喜欢
  • 2015-03-15
  • 1970-01-01
  • 2020-11-22
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
相关资源
最近更新 更多