有没有人使用YAJL的Objective-C绑定经验?

aka*_*aii 2 iphone json objective-c

http://github.com/gabriel/yajl-objc

我已经尝试过SBJSON,虽然它有效,但我正在寻找其他选项来改进解析速度和内存消耗.但是这个库的使用似乎并不像SBJSON那样简单,我不知道如何开始使用yajl.

像这样的东西:

NSArray *parsed = [data yajl_JSON];
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

- [NSConcreteMutableData yajl_JSON]:无法识别的选择器发送到实例0x5372180

尝试解析NSString对象会导致同样的问题.我可以看到界面,但似乎没有实现...我没有正确链接到静态库?

Google在使用示例方面的表现很少.项目本身的文档仅说明了从json数据/字符串生成对象的以下内容.

#import "NSObject+YAJL.h"

NSData *JSONData = [NSData dataWithContentsOfFile:@"example.json"];
NSArray *arrayFromData = [JSONData yajl_JSON];

NSString *JSONString = @"[\"Test\"]";
NSArray *arrayFromString = [JSONString yajl_JSON];
Run Code Online (Sandbox Code Playgroud)

这看起来和我试过的几乎一样.我在这里错过了什么?

Kub*_*der 7

你一定错过了那部分:

在Test目标中的'Other Linker Flags'下,添加-ObjC和-all_load(加载NSObject + YAJL类别).

我没有使用YAJL的问题,直到我在发布模式下运行应用程序,然后我得到了与你相同的错误 - 结果,我只是将这些标志添加到调试模式,而不是所有这些.

一般来说,我可以推荐YAJL,它肯定比所有其他选择更快(参见我博客上的基准测试结果).