2010-04-08 18 views
2

问题:我应该以JSON格式还是以单独的二进制连接移动大数据块?

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

如果前者能提供关于如何优化JSON以减小尺寸的提示吗?

如果是后者,是否值得在JSON中使用同时出现在两者中的标识符(例如“数据”:“<唯一标识符>”)将逻辑上的JSON数据连接到二进制数据,数据blob的字节是<唯一标识符>?

背景:

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

大部分的数据传输都是相对较小的文本数据包,JSON是一种自然格式,对于这些文件数据而言,无需担心效率问题。

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

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

感谢

回答

1

你可以尝试压缩JSON(GZ也许)在发送前和然后在客户端解压缩它。

但我不知道这是如何影响iPhone的性能。

+0

这当然是一种可能性。这是否有帮助取决于瓶颈是否最终是网络传输还是手机解码。 – Amagrammer 2010-04-08 17:34:43

+0

我对瓶颈的第一个猜测是解压缩。只要你不太经常这样做,它应该不会太坏。 – 2010-04-08 18:06:45

相关问题