Iphone 从web、JSON或XML加载内容的更好方法?

Iphone 从web、JSON或XML加载内容的更好方法?,iphone,objective-c,xml,xcode,json,Iphone,Objective C,Xml,Xcode,Json,我有一个应用程序,可以从网站加载内容 每次装货时大约有100件物品 我想知道哪种方式从web加载内容更好,如果我们看: 速度 兼容性(如果使用特殊字符等,编码是否会有问题) 你的经历 如果您的数据很大,JSON会更好 在这里阅读更多 强烈推荐JSON,以获得更好的性能和更少的带宽消耗。JSON一直以来都是如此。Saad的链接是比较两者的绝佳资源(+1为Saad),但以下是我根据经验和您的帖子得出的结论: 速度 JSON在许多方面可能更快。首先,语法要简单得多,因此解析和构造会更快。其次,它不

我有一个应用程序,可以从网站加载内容

每次装货时大约有100件物品

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

  • 速度
  • 兼容性(如果使用特殊字符等,编码是否会有问题)
  • 你的经历

如果您的数据很大,JSON会更好

在这里阅读更多


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

JSON一直以来都是如此。Saad的链接是比较两者的绝佳资源(+1为Saad),但以下是我根据经验和您的帖子得出的结论:

  • 速度

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

  • 相容性

    理论上,这里的JSON或XML都没有问题。就字符编码而言,我认为JSON获胜是因为您必须使用Unicode。XML允许您使用任何您喜欢的字符编码,但我看到解析器阻塞,因为顶部的行指定了一种编码,而实际数据使用不同的编码

  • 经历

    我发现手工制作XML要困难得多。您可以在任何文本编辑器中编写JSON,但XML确实需要一个特殊的XML编辑器才能正确使用它

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

    在iPhone上,Cocoa中没有内置的XMLDOM解析器(您可以使用基于C的解析器-libxml2),但在iOS5中有一个简单易用的JSON解析器

总之,如果我能控制链接的两端,我每次都会使用JSON。在OSX上,如果我需要结构化的人类可读文档格式,我将使用JSON。

你说你正在加载“文章”。如果你指的是包含富文本的文档(比如斜体和粗体),那么JSON是否是一个选项就不清楚了——JSON实际上并不包含混合内容


如果它是纯简单的结构化数据,并且如果您不必处理复杂的问题,比如通信两端的软件需要单独发展,而不是保持锁定同步,那么JSON就更简单、更便宜了:您不需要XML的额外功能或复杂性。

谢谢您的回答,很抱歉,我必须接受“Saad”的回答,因为他先回答。文章将包括:数字、描述(斜体和粗体)等。