//url参数转为NSDictionary
- (NSDictionary *)queryParamsFormat:(NSString *)urlStr{
NSRange questionRange = [urlStr rangeOfString:@"?"];
if (questionRange.length == 0) {
return nil;
}
NSString *query = [urlStr substringFromIndex:questionRange.location+1];
if (query.length>0) {
query = [query stringByAppendingString:@"&end=placeholder"];
NSArray *kvItems = [query componentsSeparatedByString:@"&"];
NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithCapacity:0];
for (NSString *kvItem in kvItems) {
NSArray *kvs = [kvItem componentsSeparatedByString:@"="];
[params setValue:kvs.lastObject forKey:kvs.firstObject];
}
if (params.allKeys.count>0) {
return params;
}
}
return nil;
}
//NSDictionary转为url参数
- (NSString *)queryParamsFromDic:(NSDictionary *)dic{
NSMutableArray *params = [NSMutableArray arrayWithCapacity:0];
[dic enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
NSString *kvpair = [NSString stringWithFormat:@"%@=%@",key,obj];
[params addObject:kvpair];
}];
if (params.count>0) {
NSString *queryParams = [params componentsJoinedByString:@"&"];
if (params.count==1) {
queryParams = params.firstObject;
}
return [@"?" stringByAppendingString:queryParams];
}
return nil;
}
网友评论