【问题标题】:Best way to convert NSString key values to NSDictionary将 NSString 键值转换为 NSDictionary 的最佳方法
【发布时间】:2014-04-06 10:30:35
【问题描述】:

我正在使用 Web API,例如它返回:

access_token=aZDi8ZlmDL34YyxCQt0jXdsRl9Kcinye8r8ilwqCOe3-OII2B96XblSyK7urG4DvPYc&expires_in=1396212623&is_voice_enrolled=false&device_id=3

所以,我需要将这个单个字符串拆分为键/值对。

access_token:aZDi8ZlmDL34YyxCQt0jXdsRl9Kcinye8r8ilwqCOe3-OII2B96XblSyK7urG4DvPYc

expires_in:1396212623

is_voice_enrolled:false

device_id:3

转换它的最佳方法是什么?我应该先用& 拆分,然后再用= 符号拆分吗?

谢谢!

【问题讨论】:

标签: objective-c nsstring nsdictionary


【解决方案1】:

是的,在 & 上拆分,然后在 = 上拆分,如下所示:

NSString* data = @"access_token=aZDi8ZlmDL34YyxCQt0jXdsRl9Kcinye8r8ilwqCOe3-OII2B96XblSyK7urG4DvPYc&expires_in=1396212623&is_voice_enrolled=false&device_id=3";

NSMutableDictionary* result = [@{} mutableCopy];
[[data componentsSeparatedByString:@"&"] enumerateObjectsUsingBlock:^(NSString* obj, NSUInteger idx, BOOL *stop) {
    NSArray* components = [obj componentsSeparatedByString:@"="];
    result[components[0]] = components[1];
}];

NSLog(@"%@", result);

【讨论】:

  • 效果很好 :) 谢谢你。这似乎比我写它的方式更有效。
【解决方案2】:

是的,由& 分割,然后由= 分割。

【讨论】:

    猜你喜欢
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多