Objective-C的JSON解析器比较(JSON框架,YAJL,TouchJSON等)

时间:2010-02-13 05:46:10

标签: iphone objective-c json

据我所知,Objective-C有三个JSON解析器,JSON FrameworkYAJLTouch JSON。那么,这三个就有各自的特点
例如:
YAJL可以用作SAX风格的解析器 JSON Framework历史悠久,应用广泛 触摸JSON解析NSData而不是NSString。

另外,据我测试,性能比较的结果如下:
[快] YAJL> JSON框架>触摸JSON [慢]。

如果你知道这些JSON解析器的优缺点,你能告诉我吗? 最后,如果你知道任何其他JSON Parser,请告诉我。

7 个答案:

答案 0 :(得分:59)

如果您正在寻找速度,请查看JSONKit。它(通常)比已经提到的JSON库快得多,通常快一个数量级。由于它是“最近实例化的对象缓存”,它(通常也会)使用更少的内存。

答案 1 :(得分:12)

考虑a comparison that I did,最快的库是JSONKit,其次是NSJSONSerialization(现在是公共API)和NextiveJSON。 SBJSON和TouchJSON比之前的3个库慢一点。

使用带有iOS 5.0.1的iPhone 4S进行了比较。

答案 2 :(得分:5)

还有this parser

我不记得我是如何偶然发现这个,但它看起来轻巧简单,所以我认为它符合我的需要。我将事件分叉,以便从NSData添加初始化。 由于我需要解析小的回复,我不关心性能。知道它的表现会很有趣。

答案 3 :(得分:3)

我认为JSONKit比YAJL更快,YAJL比Touch JSON更快,而IOS5类NSJSONSerialization类更快。 NSJSONSerialization无需使用任何第三方API。

答案 4 :(得分:2)

看看this post。 < 30个字符>

答案 5 :(得分:0)

为什么不查看akosma在解析器上的基准测试,他会比较不同类型的解析器。如果缺少一个解析器,您可以将它添加到测试中,因为他的代码是开源的。

iPhoneWebServicesClient

答案 6 :(得分:0)

如果您正在寻找从NSObject到JSON的序列化程序,反之亦然,您可能想要结帐OBJC JSONSerializer