zoukankan      html  css  js  c++  java
  • ios 从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL

    //字典转链接(参数)

    - (NSString *)keyValueStringWithDict:(NSDictionary *)dict
    {
        if (dict == nil) {
            return nil;
        }
        NSMutableString *string = [NSMutableString stringWithString:@"?"];
        [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
            [string appendFormat:@"%@=%@&",key,obj];
        }];
    
    
        if ([string rangeOfString:@"&"].length) {
            [string deleteCharactersInRange:NSMakeRange(string.length - 1, 1)];
        }
    
    
        return string;
    }
    
    
    //链接转字典  (参数)
    -(NSDictionary *)dictionaryWithUrlString:(NSString *)urlStr
    {
        if (urlStr && urlStr.length && [urlStr rangeOfString:@"?"].length == 1) {
            NSArray *array = [urlStr componentsSeparatedByString:@"?"];
            if (array && array.count == 2) {
                NSString *paramsStr = array[1];
                if (paramsStr.length) {
                    NSMutableDictionary *paramsDict = [NSMutableDictionary dictionary];
                    NSArray *paramArray = [paramsStr componentsSeparatedByString:@"&"];
                    for (NSString *param in paramArray) {
                        if (param && param.length) {
                            NSArray *parArr = [param componentsSeparatedByString:@"="];
                            if (parArr.count == 2) {
                                [paramsDict setObject:parArr[1] forKey:parArr[0]];
                            }
                        }
                    }
                    return paramsDict;
                }else{
                    return nil;
                }
            }else{
                return nil;
            }
        }else{
            return nil;
        }
    }
    //特殊链接解析不了 。  'https://wwww.baidu.com/#/sdffff?name=sdfff&pass=dddff'
    /*
    * 获取url的所有参数 @param url 需要提取参数的url @return NSDictionary */ -(NSDictionary *) parameterWithURL:(NSURL *) url { NSMutableDictionary *parm = [[NSMutableDictionary alloc]init]; //传入url创建url组件类 NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:url.absoluteString]; //回调遍历所有参数,添加入字典 [urlComponents.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [parm setObject:obj.value forKey:obj.name]; }]; return parm; }
  • 相关阅读:
    远程服务器同步配置
    什么是微服务架构,.netCore微服务选型
    Servlet与JSP版本历史以及Tomcat支持的版本
    JDK里面的JRE是什么
    JDK与Java SE/EE/ME的区别
    javaBean和Servlet有什么区别
    JSP的JSTL标签使用
    Java语法教程
    eclipse使用教程
    JSP生命周期
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/10797036.html
Copyright © 2011-2022 走看看