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);
    
}

 

posted @ 2016-03-28 16:17  徒步天涯  阅读(659)  评论(0编辑  收藏  举报