json解析 本地文件和网上文件(通过接口)

json解析

对本地文件解析

NSString *path =[[NSBundle mainBundle] pathForResource:@“movielist” ofType:@“txt”];
// 第二个参数,制定一个容器来接收解析后的数据
NSMutableDictionary *dic =[NSJSONSerialization JSONObjectWithData:data option:NSJSONReadingMutableContainers error:nil];

NSMutableArray *movieArr =[NSMutableArray array];
    for (NSMutableDictionary *temp in dic[@"result"]) {
        Movie *movie =[[Movie alloc] init];
        [movie setValuesForKeysWithDictionary:temp];
        [movieArr addObject:movie];
        [movie release];
    }
对网上文件的解析
原代码
NSString *strURL =@"http://api.map.baidu.com/place/v2/search?query=银行&region=大连&output=json&ak=6E823f587c95f0148c19993539b99295";
一个正常的URL地址是不允许有中文的,只能有数字, 26个英文字母的大小写,和一些特殊的符号,比如 &,%等,如果遇到带中文的URL,首先不它进行编码
原代码:
NSString *strEncode= [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
接下来,URL符合要求之后,就开始进行网络请求,网络请求分为三步
1.根据已经编好的URL,创建一个NSURL
NSURL *url =[NSURL URLWithString:strEncode];
2.发送一个请求
原代码:
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
3.返回我们要的数据,一个NSData对象

三个参数:第一个参数是刚刚创建的请求,第二个是返回的一个响应,第三个是错误信息

原代码
 NSURLResponse *response = nil;
    NSError *error =nil;
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

对返回回来的数据, data进行json解析

把所有的银行名都打印出来
原代码:

NSMutableDictionary *dic =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    for (NSDictionary *dic1 in dic[@"results"]) {
        NSLog(@"%@",dic1[@"name"]);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值