如果特定密钥没有任何可用值,请告诉我该如何从网址中删除密钥。
对于前。
http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=18&apiKey=rcnge5sr7v4yebfmr2p44gpq&cid=451493&city=London&CurrencyCode=USD&cyCode=US&numberOfResults=50&numberOfAdults=1&numberOfChildren=0&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=01/24/2014&departureDate=01/25/2014&room1=1&room2=0&room3=0&room4=0&propertyCategory=&amenities=&minStarRating=&maxStarRating=&minRate=&maxRate=
我有这个网址如果没有任何值,我想用键删除值。
我想将此网址转换为
http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=18&apiKey=rcnge5sr7v4yebfmr2p44gpq&cid=451493&city=London&CurrencyCode=USD&cyCode=US&numberOfResults=50&numberOfAdults=1&numberOfChildren=0&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=01/24/2014&departureDate=01/25/2014&room1=1
因为rest参数为0或空白。
实现这一目标的最佳做法是什么。 我想要逐个应用条件,还是有任何其他智能方法。
答案 0 :(得分:2)
采取一种方法并传递值并检查天气是否存在值,如果有那么附加它否则就这样离开
for (NSString *key in parametersDictKeyValues) {
[self addArgument:key argumentValue:[parametersDict objectForKey:key]];
}
-(void)addArgument:(NSString *)key argumentValue:(id)value {
if(key != nil && value != nil) {
baseUrlWithParameters = [baseUrlWithParameters stringByAppendingFormat:@"%@=%@&",key,value];
}
}
最后删除最后一个&来自baseUrlWithParameters的符号
答案 1 :(得分:0)
一旦发布我的查询,我就有了实现这一目标的想法。
我用过
stringByAppendingString
仅包含那些非空的参数
如果没有任何值,则字符串不会附加它。
谢谢&此致