如何使用大数据(在HTTP或WebPage上)更快地加载JSON

时间:2017-08-03 03:14:06

标签: angularjs json node.js

。请求页面(在HTTP或WebPage上),它非常慢甚至崩溃,除非我用更少的数据加载我的JSON。我真的需要解决这个问题,因为我迟早会频繁使用大量数据。这是我的JSON数据。 --->>> Click here to JSON treeview

注意:  1. JSON仅加载String和Integer。  2.我以前在JSONView中查看我的JSON更像是使用插件的treeview     来自GoogleChrome。

我正在使用angular和nodejs。 TQ

1 个答案:

答案 0 :(得分:0)

快速恢复我想到的所有事情:

我有一次类似的问题。我的解决方案可能会改变UI。

  1. 分页
  2. 我怀疑你一次可以显示那么多数据,所以策略应该是少量分割数据,然后在客户端要求时加载更多数据。

    这样,整个数据不再像以前那样存储在RAM中。这就是论坛的工作方式(一次只有20个主题)。

    想象一下,如果StackOverflow让您在主页面中加载了所有历史问题,那么您的导航器需要多少GB呢?

    您可以按照经典方式使用分页(带有页码的按钮,如谷歌),或者以无限滚动的方式使用。

    为此,您需要调整api并跟踪Front中每个时刻已经加载的页面的索引。 AngularJS中有很多例子。

    1. 仅显示数据的开头
    2. 当您查看Facebook评论时,您可能会看到“显示更多”按钮。在他们的情况下,也许不是打破UI,但它也可以用来不重载数据。

      您只能显示数据的主线(标题或某些内容)并添加按钮,以便用户可以根据需要加载更多详细信息。

      在您的数据模型中,成本似乎在“C”的第二级。只需加载数据直到第二级,并仅在用户要求时下载剩余部分(此对象)。

      再次,不需要超载,您的客户端的RAM将是感谢,以及您的客户端的移动3G。

      1. 优化您的数据结构
      2. 如果仍然不够:

        • 正如StefanArya在评论中所说,确实删除了“I”属性,这是JSON密钥的冗余。
          

        删除“I”,因为您可以使用Object.keys()来获取密钥名称。

        • 您的花车也可能不需要那么精确。

        如果我看到其他任何想法,我稍后会修改此帖子。