【问题标题】:Converting NSString to key value pair将 NSString 转换为键值对
【发布时间】:2011-08-27 07:58:20
【问题描述】:

我有一个来自服务器的响应,它是 NSString,看起来像这样

resp=handshake&clientid=47D3B27C048031D1&success=true&version=1.0

我想将其转换为键值对,例如字典或数组。 我找不到任何有用的内置函数来将 NSString 解码为 NSdictionary 并用空格替换 & 并没有解决我的问题,任何人都可以给我任何想法或者有任何功能可以解决这个问题吗?

【问题讨论】:

    标签: objective-c nsstring nsdictionary key-value keyvaluepair


    【解决方案1】:

    这应该可以工作(在我的脑海中):

    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,尽管对于像查询字符串这样短的内容,额外的几个数组不会产生性能差异。

    【讨论】:

      猜你喜欢
      • 2018-01-15
      • 2015-04-30
      • 1970-01-01
      • 2014-04-06
      • 2014-01-30
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多