首页 > 代码库 > JSON解析步骤

JSON解析步骤

解析:就是按照一种约定好的格式(假象),由后台开发人员按照格式存数据,由前端开发人员按照格式取数据.(谨记:这种格式是由后台开发人员决定的,我们无权决定)  

解析的本质:按照约定好的格式,取出我们想要的数据的过程.


JSON解析系统

     1.先获取文件路径  

   NSString *jsonPath = [[NSBundlemainBundle]pathForResource:@"Student"   ofType:@"json"];   

     2.初始化NSData对象   

NSData *data = http://www.mamicode.com/[NSDatadataWithContentsOfFile:jsonPath];   

     3.解析(数据最外层是什么类型,就用什么类型,如下)   

NSMutableArray *arr = [NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];


对于JSONKit提供的解析方式是为NSString,NSData添加分类的方式,在分类中添加了解析的方法,json格式数据解析成NSArray,NSDictionary.效率仅次于系统提供的方法.
    而为NSArray,NSDictionary添加的分类的方法,则是将OC的对象,转化为JSON格式字符串.

    一.OC的数组转换成json格式    

NSArray *arr =@[@"aa",@"bb",@"cc",@"dd",@"ee"];   

         转化   

NSString *jsonStr = [arrJSONString];

  二.将字典转化为JSON格式
NSDictionary *dic =@{@"name":@"Frank",@"gender":@"man",@"age":@"18"};
    NSString *jsonStr = [dicJSONString];

    三.NSString解析

    1.先获取文件路径   

NSString *jsonPath = [[NSBundlemainBundle]pathForResource:@"Student"ofType:@"json"];   

    2.初始化NSString对象   

NSString *jsonStr = [NSStringstringWithContentsOfFile:jsonPathencoding:NSUTF8StringEncodingerror:nil];   

    3.解析   

NSArray *arr = [jsonStrobjectFromJSONString];


   四. NSData解析

   1.先获取文件路径    

NSString *jsonPath = [[NSBundlemainBundle]       

pathForResource:@"Student"ofType:@"json"];   

   2.初始化NSData对象   

NSData *data = http://www.mamicode.com/[NSDatadataWithContentsOfFile:jsonPath];   

   3.解析

    NSArray *arr = [dataobjectFromJSONData];  

JSON解析步骤