与返回原始html相比,json是否会增加任何开销?

时间:2011-05-20 20:20:00

标签: javascript jquery

我有一个ajax调用,当前正在返回我注入页面的原始html。

现在我的问题是,在某些情况下,我需要返回一个计数值以及原始html,如果该计数是> 10,我需要触发另一个jquery操作来使某些东西可见。

这里最好的方法是返回json然后吗?所以我可以这样做:

jsonReturned.counter
jsonReturned.html

你同意吗?

另外,出于好奇心,json还有更昂贵的表现吗?它只是一个带有属性的简单对象,但只是问。

4 个答案:

答案 0 :(得分:3)

这个问题保留了一定的自由裁量权,但在我看来,返回JSON而不是原始HTML没有效率问题。正如您所说,您可以轻松返回多条消息,而无需额外的解析(例如,我通常会有状态,消息和数据)。

我没有运行任何数字,但我可以告诉你,我已经在非常繁忙的流量(数百万个请求)情况下通过AJAX使用了JSON而没有效率问题。

答案 1 :(得分:1)

我同意,json是要走的路。毫无疑问,这是一个性能打击。问题是:这是一个微不足道的打击?我的意见是它可以忽略不计。如今,Javascript在浏览器中非常快。你应该没事。

答案 2 :(得分:0)

JSON可能比HTML更紧凑,因为括号/引号对总是比最小的标签组合更加紧凑。 {} / []"" v。 <a></a>。 2个字符vs.s. 7是我书中的胜利。但是,如果您的数据需要使用\进行大量转义,那么JSON将是净损失,并且可能会使任何给定字符串的大小翻倍。

答案 3 :(得分:0)

额外开销的来源包括

  1. 下载旧版浏览器的JSON解析器的大小和加载时间
  2. JSON解析时间。
  3. HTML内容的下载量较大,因为JSON字符串必须至少包含HTML字符串和引号。
  4. 了解这些对您的应用程序是否重要的​​唯一方法是衡量它们。它们都没有明显大,也没有超过O(n)。