你的位置:首页 > 操作系统

[操作系统]iOS son解析的几种方法


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