2

我正处于应用程序设计的关键决策点。它是一个 ASP.NET Web 应用程序,它使用 REST 来请求有关各种产品的信息。某些产品具有不同的 ProductID,具体取决于它们的属性/变体。例如,用户可能对 Rogaine 感兴趣。关于 Rogain 的 REST 请求可能会返回包含多个变体的响应 - 1 个月的供应量、3 个月的供应量或 4 个月的供应量。这些变体中的每一个都有不同的 ProductID、不同的正常价格、不同的销售价格和许多不同的属性。每个产品都有一组不同的“功能”、不同的图像等。每个产品的属性数量可能非常多。

在大多数情况下,只有几个产品变体。有时半打,有时一打或两个。在这些情况下,JSON 可以轻松处理我的要求。

但以连衣裙为例。它可能有几十种颜色可供选择。它也有 6 种不同的尺寸可供选择。您不希望在它们自己的页面上显示这些中的每一个。在单个页面上显示此产品并呈现这些尺寸和颜色选项供用户选择更加用户友好。也许他们想订购红色的小尺寸。

在上面的示例中,有近 100 种选项组合。在这一点上,我认为 JSON 对我来说是一个不切实际的选择。对于每个独特的组合,都有多个图像链接(每个图像以不同的颜色显示产品)。每个产品都有标价、常规价格和销售价格,节省的金额。每个都有运输属性。每个都有自己的功能列表,可以是每个产品的文本段落。

好的,我的意思是 - 这是要填充到 JSON 字符串中的大量数据,并且当颜色或大小发生更改时,查找详细信息会有延迟。

我喜欢亚马逊提供选择的方式。这是这种情况的链接:

http://www.amazon.com/American-Apparel-Jersey-Chemise-Small-Navy/dp/B003ILSHQ2/

我查看了源页面,没有看到他们在客户端存储每个产品的详细信息的位置。如果您将鼠标悬停在每个颜色样本上,您会看到页面上的所有细节都发生了变化。价格、运费、大图、功能。几乎一切都在改变。

我偶尔会看到“正在加载...”指示器,但在大多数情况下,它是如此之快,以至于您看不到任何客户端/服务器通信的迹象。

他们如何在不完全重新加载页面并且不将这些信息存储在客户端上的情况下做到这一点?他们用的是什么技术,有人知道吗?

相信我,每次更改产品变体时发送另一个 REST 请求的往返行程太贵了。在我的第一个 REST 响应中,我已经拥有每个产品的所有数据。数据不在我的服务器上或我的控制范围内,我真的不想将其保存在我的服务器上。

由于我已经拥有所有数据,因此我想将其存储起来,以便可以像亚马逊一样使用它,但我想将其交给客户。使用 JSON 字符串将是完美的,在大多数情况下,我可以......但不是有效/高效。

有没有办法索引 JSON 字符串以使其更快地处理大量数据?JSON 是不是太多了?我还可以在 JQuery/Javascript 中使用哪些其他选项?

4

2 回答 2

0

我目前正在编写一个应用程序,我从各种来源获取 JSON 负载,然后将它们存储在 localStorage 中。它们是一组 Facebook、Twitter 和 RSS 订阅源。我通过应用程序分配的唯一 ID 构建提要索引,并将其存储为一个数组,每个 ID 都与一个表示类型的字符串相关联,即 FBK/TWI/RSS 和一个带有提要标题的字符串。

然后,我为每个提要存储一个数组数组,其中包含从它们获取的帖子的数据。

使用 5Mb,这是一个可行的设置。如果您需要存储的数据不超过这个值,我可以想象它不会,它也适用于您。在更改页面时,您可以清除存储空间并下载您的下一个产品对象。

很难想象一个 50kB 的对象会超过 JSON + localStorage 的组合能力 :-) 虽然我确信我即将被告知为什么我错了哈哈!

于 2012-06-23T00:26:05.997 回答
0

charlietfl 最好地回答了我的问题,但我无法将他的回答标记为答案,因为他没有发布答案,只是发表评论。谢谢charlietfl。

于 2012-06-26T12:09:33.797 回答