我应该在JSON或单独的二进制连接中移动大数据blob吗?

时间:2010-04-08 17:07:23

标签: iphone json blobs

问题:

为简单起见,在JSON中发送大数据blob或通过单独的连接将它们作为二进制数据发送是否更好?

如果是前者,您是否可以提供有关如何优化JSON以最小化尺寸的提示?

如果是后者,是否值得使用两者中出现的标识符将JSON数据逻辑地连接到二进制数据,例如“data”:“&lt; unique identifier&gt;”在JSON中,数据blob的第一个字节是&lt; <唯一标识符> ?

背景:

我的iPhone应用程序需要通过3G网络接收JSON数据。这意味着我需要认真考虑数据传输的效率以及CPU的负载。

大多数数据传输都是相对较小的文本数据包,JSON是一种自然格式,对于效率而言,没有必要担心。

然而,一些最关键的转移将是大量的二进制数据 - 绝对至少100千字节的数据,并且可能接近1兆字节,因为客户积累了更长的产品历史。 (注意:我将在iPhone上缓存我自己的内容,但数据仍然必须至少传输一次。)它不是流数据。

我可能会使用第三方JSON SDK - 我在开发过程中使用的是here.

由于

1 个答案:

答案 0 :(得分:1)

您可以在发送之前尝试压缩JSON(可能是gz),然后在客户端解压缩它。

但我不确定这会如何影响iPhone的性能。