url中出现汉字,需要进行百分号转译


// url 中只能是 ASCII . url 中出现汉字 , 需要进行百分号转译 .
    NSString *urlString = @"http://192.168.1.254/ 服务器资料 /demo.json” ;//在Safari上打开
   

// 百分号转译 :
    // 1> Xcode 7.0 之前使用最多的一个方法 :
//    urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
   
   
// 注意 : 首先是实例化 NSCharacterSet 定义的位置 . stringByAddingPercentEncodingWithAllowedCharacters 方法上面 .
    // 其次: 只有最后两个实例化方法有效.


 urlString = [urlString     stringByAddingPercentEncodingWithAllowedCharacters :[ NSCharacterSet URLQueryAllowedCharacterSet ]];
   
   
// NSLog(@"%@",urlString);
   
   
NSURL *url = [ NSURL URLWithString :urlString];
   
   
NSURLRequest *request = [ NSURLRequest requestWithURL :url];
   
   
   
// 2. 发送网络请求
    [[[
NSURLSession sharedSession ] dataTaskWithRequest :request completionHandler :^( NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
      
       
// JSON 数据可以直接使用字符串接收 .
       
// 调试 JSON 数据 , 选择合适的参数接收 !
       
// JSON 数据的最外层 如果是 [] , 使用 数组接收 ; {} 使用字典接收 .
       
// JSON {} [] 里面的内容 : 遵循下列对应的转换关系 :
//        {
       
//     JSON 类型         OC 类型
       
//            " " 或者 ''  --->  NSString
       
//    数字 1 ; 2.5 --->  NSNumber
       
//    true /false  --->  BOOL 值接收 .
//        }
       
NSLog ( @"data:%@" ,[[ NSString alloc ] initWithData :data encoding : NSUTF8StringEncoding ]);
       
      
// NSLog(@"response%@",response);
       
// 反序列化 : JSON --> OC
       
       
// data : 需要解析的 JSON 格式 二进制数据 .
       
NSDictionary *dict = [ NSJSONSerialization JSONObjectWithData :data options : 0 error : NULL ];
       
       
NSLog ( @"dict:%@" ,dict);
       

    }] resume];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值