iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson
相关的第三方类库大家可以去github上下载
1.NSJSONSerialization
具体代码如下 :
- (void)viewDidLoad { [super viewDidLoad]; NSData *data1=[NSData dataWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"test" ofType:@"json"]]; //1.系统提供的json解析方法 NSLog(@"%@",data1); __autoreleasing NSError *err; NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data1 options:NSJSONReadingMutableLeaves error:&err]; NSLog(@"%@",dic[@"user"][@"location"]); NSLog(@"%@",dic); }
2.JSONKit 这是需要导入第三方类库
[super viewDidLoad]; NSString *path=[[NSBundle mainBundle]pathForResource:@"sina.json" ofType:nil]; NSData *data=[NSData dataWithContentsOfFile:path]; __autoreleasing NSError *err; NSDictionary *dic=[data objectFromJSONDataWithParseOptions:JKParseOptionNone error:&err]; NSLog(@"%@",dic[@"user"][@"location"]);
3.SBJson 同样需要导入第三方类库
- (void)viewDidLoad { [super viewDidLoad]; NSString *path=[[NSBundle mainBundle]pathForResource:@"sina.json" ofType:nil]; NSData *data=[NSData dataWithContentsOfFile:path]; SBJsonParser *jsonParser=[[SBJsonParser alloc]init]; NSMutableDictionary *dic=[jsonParser objectWithData:data]; NSLog(@"%@",dic); }
4.TouchJson 第三方类库
- (void)viewDidLoad { [super viewDidLoad]; NSString *path=[[NSBundle mainBundle]pathForResource:@"sina" ofType:@"json"]; NSData *data=[NSData dataWithContentsOfFile:path]; NSDictionary *dic=[[CJSONDeserializer deserializer] deserialize:data error:nil]; NSLog(@"%@",dic); }