作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
大家好,我是 iOS 开发的新手。我想获得响应并将这些值添加到变量。
我试过了,但我得到的响应低于此值。我不明白为什么此响应中有斜线。
@"[{\"VisitorID\":\"2864983a-e26b-441a-aedf-84e2a1770b8e\",\"ProfileID\":\"69c02265-abca-4716-8a2f-ac5d642f876a\",\"CompanyID\":null,\"VisitorName\":\"kanasalingam\",\"OperatorName\":\"baman\",\"Image\":null,\"isocode\":\"lk\",\"CurrentOperator\":[\"69c02265-abca-4716-8a2f-ac5d642f876a\"]},{\"VisitorID\":\"133bc108-b3bf-468a-9397-e1b0dba449db\",\"ProfileID\":\"69c02265-abca-4716-8a2f-ac5d642f876a\",\"CompanyID\":null,\"VisitorName\":\"kumar\",\"OperatorName\":\"baman\",\"Image\":null,\"isocode\":\"lk\",\"CurrentOperator\":[\"69c02265-abca-4716-8a2f-ac5d642f876a\"]}]"
我试过这个:
- (void) sendOtherActiveChats:(NSDictionary *) chatDetails{
NSLog(@"inside sendOtherActiveChats");
NSLog(@"otherDetails Dictionary : %@ ", chatDetails);
NSString *VisitorID = [chatDetails objectForKey:@"VisitorID"];
NSString *ProfileID = [chatDetails objectForKey:@"ProfileID"];
NSString *CompanyID = [chatDetails objectForKey:@"CompanyID"];
NSString *VisitorName = [chatDetails objectForKey:@"VisitorName"];
NSString *OperatorName = [chatDetails objectForKey:@"OperatorName"];
NSString *isocode = [chatDetails objectForKey:@"isocode"];
NSLog(@"------------------------Other Active Chats -----------------------------------");
NSLog(@"VisitorID : %@" , VisitorID);
NSLog(@"ProfileID : %@" , ProfileID);
NSLog(@"CompanyID : %@" , CompanyID);
NSLog(@"VisitorName : %@" , VisitorName);
NSLog(@"OperatorName : %@" , OperatorName);
NSLog(@"countryCode: %@" , isocode);
NSLog(@"------------------------------------------------------------------------------");
}
谁能帮我从这个字符串中获取值?
最佳答案
您正在获得字典数组作为响应,但您的响应是字符串形式的,因此您可以使用 NSJSONSerialization
将其转换为 NSArray
,就像这样将您的响应字符串转换为NSData
,然后使用该数据和 JSONObjectWithData:
从中获取数组。
NSString *jsonString = @"[{\"VisitorID\":\"2864983a-e26b-441a-aedf-84e2a1770b8e\",\"ProfileID\":\"69c02265-abca-4716-8a2f-ac5d642f876a\",\"CompanyID\":null,\"VisitorName\":\"kanasalingam\",\"OperatorName\":\"baman\",\"Image\":null,\"isocode\":\"lk\",\"CurrentOperator\":[\"69c02265-abca-4716-8a2f-ac5d642f876a\"]},{\"VisitorID\":\"133bc108-b3bf-468a-9397-e1b0dba449db\",\"ProfileID\":\"69c02265-abca-4716-8a2f-ac5d642f876a\",\"CompanyID\":null,\"VisitorName\":\"kumar\",\"OperatorName\":\"baman\",\"Image\":null,\"isocode\":\"lk\",\"CurrentOperator\":[\"69c02265-abca-4716-8a2f-ac5d642f876a\"]}]";
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSMutableArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&e];
现在遍历数组并从中访问每个字典。
for (NSDictionary *dic in jsonArray) {
NSLog(@"%@",[dic objectForKey:@"VisitorID"]);
... and so on.
}
关于ios - 从 NSDictionary 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460099/
我是一名优秀的程序员,十分优秀!