刚刚升级SBJson到最新版本4.0.1后发现原来的解析数据的方法便了。代码如下。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];//设置相应内容类型
[manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", responseObject);
//处理json
NSString *requestTmp = [NSString stringWithString:operation.responseString];
NSData *resData = [[NSData alloc] initWithData:[requestTmp dataUsingEncoding:NSUTF8StringEncoding]];
SBJson4Parser *parser = [SBJson4Parser parserWithBlock:^(id item, BOOL *stop) {
NSObject *itemObject = item;
if ([item isKindOfClass:[NSDictionary class]]) {
NSDictionary *activitiesDict = (NSDictionary*)itemObject;
NSLog(@"%@",[activitiesDict objectForKey:@"result"]);
}
}
allowMultiRoot:NO
unwrapRootArray:NO
errorHandler:^(NSError *error) {
NSLog(@"%@", error);
}];
[parser parse:resData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
解析是一个同步方法:[parser parse:resData];[SBJson4Parser parserWithBlock:^(id item, BOOL *stop)
升级SBJson至4.0.1版本后,原有的JSON数据解析方法发生变化。本文介绍如何使用SBJson4Parser进行同步解析,并展示具体的代码实现。

2016

被折叠的 条评论
为什么被折叠?



