我正在使用网络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:假
DEVICE_ID:3
转换此内容的最佳方法是什么?我应该按&
拆分,然后再按=
符号拆分吗?
谢谢!
答案 0 :(得分:4)
是的,分开&然后在=上,像这样:
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);
答案 1 :(得分:2)
是的,按&
分隔,然后按=
分隔。