我在應用程序設計的關鍵決策點。這是一個ASP.NET Web應用程序,它使用REST請求有關各種產品的信息。某些產品根據其屬性/變體具有不同的ProductID。例如,用戶可能對Rogaine感興趣。有關Rogain的REST請求可能會返回包含多個變體的響應 - 1個月供應,3個月供應或4個月供應。這些變體中的每一個都有不同的ProductID,不同的常規價格,不同的銷售價格和多種不同的屬性。每個人都有一組不同的「功能」,不同的圖像等。每種產品的屬性數量可能相當多。關於JSON實際限制的反饋?
在大多數情況下,只有幾個產品變體。有時候有六打,有時候有一兩打。在這些情況下,JSON可以輕鬆處理我的需求。
但是,以服裝爲例。它可能有幾十種顏色。它也有6種不同的尺寸。你不想在他們自己的頁面上顯示每一個。在單個頁面上顯示此產品更方便用戶,並提供這些尺寸和顏色選項供用戶選擇。也許他們想要以紅色訂購小尺寸。
在上面的例子中,有幾乎100個選項組合。在這一點上,我認爲JSON對我來說是不切實際的選擇。對於每個獨特的組合,有幾個指向圖像的鏈接(每個圖像以不同的顏色顯示產品)。每種產品都有一個清單價格,一個正常價格和一個銷售價格,節省的金額。每個都有發貨屬性。每個都有自己的功能列表,可以是每個產品的文本段落。
好吧,我的觀點是 - 這是大量的數據填充在一個JSON字符串中,當顏色或大小發生變化時,查找細節會有延遲。
我喜歡亞馬遜提供選擇的方式。下面是這種情況的鏈接:
http://www.amazon.com/American-Apparel-Jersey-Chemise-Small-Navy/dp/B003ILSHQ2/
我看了源頁面並沒有看到在那裏它們被存儲在客戶端上每個產品的詳細信息。如果你懸停每個顏色樣本,你會發現頁面上的所有細節都發生了變化。價格,運輸,大圖像,功能。幾乎一切都在變化。
我偶爾會看到「正在加載...」指示符,但在大多數情況下,它很快就會看不到任何客戶端/服務器通信的跡象。
他們是如何做到這一點,而無需完全重新加載頁面,並且不將這些信息存儲在客戶端上?他們使用什麼技術,有誰知道?
相信我,每次產品變化發生變化時發送另一個REST請求的往返行程太貴了。並且我已在第一個REST響應中爲每個產品的數據都有全部。數據不在我的服務器上或在我的控制下,我真的不想將它保存在我的服務器上。
因爲我已經擁有了所有的數據,所以我想將它存儲起來,以便像亞馬遜那樣使用它,但是我想把它交給客戶端。使用JSON字符串是完美的,並且在大多數情況下,我可以......但不能有效地執行所有操作。
有沒有一種方法來索引JSON字符串以使其對大量數據更快?這對JSON來說太過分了嗎?我還有什麼其他選擇可以用於JQuery/Javascript?
聽起來更像是一個如何組織數據的問題,而不是多少數據。 Amazon上的示例將數據存儲在js變量中。看'colorImages'對象作爲例子 – charlietfl
我也考慮過了。將數據分解成對象。是的,您一定會看到他們將某些數據存儲在變量中,但該產品有77種獨特組合(5種尺寸和21種顏色)。我沒有找到有77個不同產品ID的對象。我沒有發現有任何物品與一堆價格或一堆運輸選項。圖像,是的。但它的很多不在客戶端頁面 - 從我所能看到的。我花了好幾個小時看着它玩耍。 – rwkiii
有很多方法可以處理它,很難在沒有看到數據的情況下進行評估以及UI如何工作 – charlietfl