2012-05-15 30 views
0

我有一个应用程序将加载网站的内容。更好的方式来从网页,JSON或XML加载内容?

每次装载时将会有大约100篇文章。

我想知道哪种方式是更好,如果我们看一下加载从Web内容:

  • 速度
  • 兼容性(会不会有与编码任何问题,如果我们使用特殊字符等)
  • 您的经验

回答

2

强烈推荐JSON获得更好的性能和更低的带宽消耗。

+0

感谢您的回答和抱歉,但我必须接受“萨阿德”的回答,因为他先回答了。 – CroiOS

2

JSON一路。萨阿德的链接是两个比较(+1到萨阿德)一个很好的资源,但这里是我拿的经验,并根据您的文章:

  • 速度

    JSON可能会更快在许多方面。首先,语法要简单得多,因此解析和构建会更快。其次,它不那么冗长。这意味着通过电线传输将更快。

  • 兼容性

    从理论上讲,有与JSON或XML这里没有问题。在字符编码方面,我认为JSON会赢,因为你必须使用Unicode 必须使用。 XML允许你使用任何你喜欢的字符编码,但是我看到解析器会窒息,因为顶部的行指定了一种编码,而实际的数据则不同。

  • 经验

    我发现XML是远远手工工艺更困难。您可以在任何文本编辑器中编写JSON,但XML确实需要特殊的XML编辑器才能正确使用。

    XML在程序中更难以操纵。解析器必须处理更复杂的问题:名称空间,属性,实体,CDATA等。因此,如果您使用基于流的解析器,则需要跟踪属性,元素内容,名称空间映射等。基于DOM的解析器往往会生成复杂的自定义图形对象(因为它们必须为了模拟复杂性)。我必须承认,我从来没有使用基于流的JSON解析器,但生成对象图的解析器可以使用自然的Objective-C集合。

    在iPhone上,没有内置的XML DOM解析器可可(可以使用基于C的解析器 - libxml2的),但有一个简单的使用JSON解析器的iOS 5

总之,如果我对链接的两端都有控制权,那么我会每次都使用JSON。在OS X上,如果我需要结构化的可读文档格式,我将使用JSON。

+0

很好的解释,谢谢:) – CroiOS

1

你说你正在加载“文章”。如果您的文档含有丰富的文本(类似于斜体和粗体),那么不清楚JSON是否是一种选择 - JSON实际上并没有混合内容。

如果是纯粹的简单的结构化数据,而如果你没有处理的复杂性一样需要在通信两端的软件分开发展,而不是留在锁同步,那么JSON更简单,更便宜:您不需要XML的额外功能或复杂性。

+0

文章将有:数字,描述(用斜体和粗体)等。 – CroiOS

相关问题