Parse NSDictionary to a string with custom separat

2020-07-09 09:59发布

I have an NSMutableDictionary with some values in it, and I need to join the keys and values into a string, so

> name = Fred
> password = cakeismyfavoritefood
> email = myemailaddress@is.short

becomes name=Fred&password=cakeismyfavoritefood&email=myemailaddress@is.short

How can I do this? Is there a way to join NSDictionaries into strings?

2条回答
乱世女痞
2楼-- · 2020-07-09 10:41

Quite same question as Turning a NSDictionary into a string using blocks?

NSMutableArray* parametersArray = [[NSMutableArray alloc] init];
[yourDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    [parametersArray addObject:[NSString stringWithFormat:@"%@=%@", key, obj]];
}];
NSString* parameterString = [parametersArray componentsJoinedByString:@"&"];
[parametersArray release];
查看更多
smile是对你的礼貌
3楼-- · 2020-07-09 10:47

You can easily do that enumerating dictionary keys and objects:

NSMutableString *resultString = [NSMutableString string];
for (NSString* key in [yourDictionary allKeys]){
    if ([resultString length]>0)
       [resultString appendString:@"&"];
    [resultString appendFormat:@"%@=%@", key, [yourDict objectForKey:key]];
}
查看更多
登录 后发表回答