NSXMLParser与JSON Parser

时间:2013-09-04 13:49:46

标签: ios json nsxmlparser

NSXMLParser& amp;的优缺点是什么? JSON解析器?

在哪种情况下哪一个好?

目前,我的应用使用NSXMLParser。如果效率更高,我打算移动JSON解析器。

由于

1 个答案:

答案 0 :(得分:1)

NSXMLParser是一个“事件驱动”解析器,它基本上通知代理XML文档中某些元素的出现。

事件驱动的解析器本身不会创建XML文档的表示形式。元素的实际处理必须由一些代表完成。正确使用事件驱动的解析器是复杂且容易出错的,并且需要经验如何处理这样的任务。嗯,你知道的。

另一方面,

NSJSONSerialization和我所知道的所有其他第三方JSON解析器,从JSON输入创建基础对象(NSArrayNSDictionary)。解析JSON文档并获取NSDictionaryNSArray对象是一个问题。少数人还支持“事件驱动”模式。

XML远比JSON复杂。本质上,JSON解析器更简单,并且在解析文档时几乎总是更有效。

尽管简单,但JSON几乎总是足以表达您的数据。

因此,当您以JSON表达数据时,无论如何都要使用JSON。如果可能,请使用NSJSONSerialization

其他第三方JSON解析器可能提供额外的功能,如事件驱动的API,处理数据块的改进方法,具有更复杂的选项来自定义某些边缘情况,如处理Unicode NULL字符,Unicode非字符,如何转换JSON数字等,可能可能NSJSONSerialization更快。

今天,NSJSONSerialization和JSONKit一样快。 (对于某些输入,JSONKit更快一点)。 AFAIK,有两个第三方解析器,任何输入几乎总是比NSJSONSerialization快,特别是在手臂上,以及转换数字。对于1到2范围内的因子,你可以期望它们更快。但是考虑解析JSON几乎不是性能问题的罪魁祸首。