据我所知,Objective-C有三个JSON解析器,JSON Framework,YAJL和Touch JSON。那么,这三个就有各自的特点
例如:
YAJL可以用作SAX风格的解析器
JSON Framework历史悠久,应用广泛
触摸JSON解析NSData而不是NSString。
另外,据我测试,性能比较的结果如下:
[快] YAJL> JSON框架>触摸JSON [慢]。
如果你知道这些JSON解析器的优缺点,你能告诉我吗? 最后,如果你知道任何其他JSON Parser,请告诉我。
答案 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在解析器上的基准测试,他会比较不同类型的解析器。如果缺少一个解析器,您可以将它添加到测试中,因为他的代码是开源的。
答案 6 :(得分:0)
如果您正在寻找从NSObject到JSON的序列化程序,反之亦然,您可能想要结帐OBJC JSONSerializer