我有一个来自服务器的响应,它是 NSString,看起来像这样
resp=handshake&clientid=47D3B27C048031D1&success=true&version=1.0
我想将其转换为键值对,例如字典或数组。我找不到任何有用的内置函数来将 NSString 解码为 NSdictionary 并用空格替换 & 并没有解决我的问题,任何人都可以给我任何想法或者有任何功能可以解决这个问题吗?
我有一个来自服务器的响应,它是 NSString,看起来像这样
resp=handshake&clientid=47D3B27C048031D1&success=true&version=1.0
我想将其转换为键值对,例如字典或数组。我找不到任何有用的内置函数来将 NSString 解码为 NSdictionary 并用空格替换 & 并没有解决我的问题,任何人都可以给我任何想法或者有任何功能可以解决这个问题吗?
这应该有效(在我的脑海中):
NSMutableDictionary *pairs = [NSMutableDictionary dictionary];
for (NSString *pairString in [str componentsSeparatedByString:@"&"]) {
NSArray *pair = [pairString componentsSeparatedByString:@"="];
if ([pair count] != 2)
continue;
[pairs setObject:[pair objectAtIndex:1] forKey:[pair objectAtIndex:0]];
}
或者您可以使用NSScanner
,尽管对于像查询字符串这样短的东西,额外的几个数组不会产生性能差异。