关于iOS开发 Json解析的几种方式

一、NSJSONSerialization

NSJSONSerialization是iOS 5.0新增的类,用来尽心对Json数据的解析。使用方法如下:

Json To Foundation

#define kGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)

-(void) loadJsonData:(NSURL *)url

{

dispatch_async(kGlobalQueue, ^{

NSData *data = [NSData dataWithContentsOfURL:url];

[self performSelectorOnMainThread:@selector(parseJsonData:) withObject:data waitUntilDone:NO];

});

}


-(void) parseJsonData:(NSData *)data

{

NSError *error;

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

if (json == nil) {

NSLog(@"json parse failed \r\n");

return;

}

//此处通过json字典变量来读取数据

}

Foundation To Json

- (void)convertToJson: (NSData *)data

{

if ([NSJSONSerialization isValidJSONObject:data])

{

NSError *error;


NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&error];

NSString *json =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

NSLog(@"json data:%@",json);

}

}