我正在尝试解码我的iphone应用的网址查询。
这是我使用的代码
- (NSDictionary *)parseQueryString:(NSString *)query {
NSArray *pairs = [query componentsSeparatedByString:@"&"];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:[pairs count]];
for (NSString *pair in pairs) {
NSArray *elements = [pair componentsSeparatedByString:@"="];
NSString *key = [elements objectAtIndex:0];
NSString *val = [elements objectAtIndex:1];
[dict setObject:val forKey:key];
}
return dict;
}
这是我一直在提供的查询字符串。
station=124&serverip=demo\sqlexpress&username=test&password=noneofyourbusiness&serviceip=anumber&useimages=true&imagepath=pathforimages
当我NSLog返回的字典时,服务器ip出现为
serverip = "demo\\sqlexpress";
突然它有两个反斜杠而不是一个反斜杠。 任何想法如何解决这个问题?
答案 0 :(得分:1)
你的琴弦可能很好。记录字典打印不会按原样打印字符串。
打印字典会将其转换为旧的NSPropertyListOpenStepFormat
格式。字符串使用反斜杠来逃避。