2017-08-03 51 views
0

。請求頁面(在HTTP或WebPage上),這是非常緩慢甚至崩潰,除非我用更少的數據加載我的JSON。我真的需要解決這個問題,因爲我遲早會經常使用大量的數據。這是我的JSON數據。 --- >>> Click here to JSON treeview如何使大型數據(在HTTP或WebPage上)更快地加載JSON

說明: 1. JSON僅加載String和Integer。 2.我以前使用GoogleChrome的插件 查看JSONView中的JSON更像treeview。

我正在使用angular和nodejs。 TQ

+0

你能舉一些例子嗎? – StefansArya

+1

假設帶寬真的是這裏的限制因素,除了對您從服務器請求的數據更具選擇性之外,實際上沒有任何解決方案。刪除你實際上不需要的任何數據,在服務器上做更多的預處理,儘可能增量地加載數據等。 –

+0

@StefansArya可能在HTTP或WebPage屏幕上。 –

回答

0

的所有的東西快速恢復。這使我的腦海:

我有一個類似的問題一次。我的解決方案可能會改變用戶界面。

  1. 分頁

我懷疑你可以同時顯示如此多的數據,所以該戰略應以少量divising數據,然後只加載更多的時候客戶提出要求。

這樣,整個數據就不會像當前那樣存儲在RAM中。這就是論壇的工作原理(一次只有20個主題)。

想象一下,如果StackOverflow使您能夠在主頁面中加載整個歷史問題,您的導航器需要多少GB才能滿足這一點?

您可以按經典方式(帶頁碼的按鈕,如Google)或按無限滾動方式使用分頁。

爲此,您需要調整您的api並跟蹤您的Front中每一時刻已經加載的頁面的索引。 AngularJS中有很多例子。

  • 只顯示數據的開始
  • 當你在Facebook的評論,你可能有一個 「顯示更多」 按鈕。在他們的情況下,也許它不會破壞用戶界面,但它也可以用來不超載數據。

    您只能顯示數據的主要行(標題或稍微)並添加一個按鈕,以便用戶可以根據需要加載更多詳細信息。

    在您的數據模型中,成本似乎在「C」的第二級。只需加載數據,直到第二級,並且只有在用戶要求時才下載剩餘部分(用於此對象)。

    再一次,沒有必要超載,您的客戶端的RAM將是感恩,並且您的客戶端的移動3G也是如此。

  • 優化數據stucture
  • 如果這仍然不夠:

    • 作爲StefanArya的評論說,確實去掉「我「屬性,這與JSON密鑰是多餘的。

    刪除了 「我」,你可以使用Object.keys()來獲取鍵名。

    • 你也可能不需要那麼多的精確度在你的浮游物上。

    如果我看到任何其他想法,我稍後再編輯此帖子。