[英]Parse from JSON response
我收到JSON回应
(
{
Response = success;
UserId = 287;
}
)
我试图用下面的代码解析用户ID
NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:receivedData options:0 error:&e];
NSLog(@"%@", dataDictionary);
NSString *useridstring=[dataDictionary valueForKey:@"UserId"];
但是正在获取用户ID ( 287 )
。 请建议我如何获取不带括号的用户ID
您需要从JSON响应中获取整数值。
int userid = [[dataDictionary valueForKey:@"UserId"] intValue];
如果在整数响应中也包含括号,那么接收到JSON
响应就存在问题。 要解决此问题,您可以使用-
NSString *useridstring=[dataDictionary valueForKey:@"UserId"];
int userid = [[useridstring substringWithRange:NSMakeRange(1, useridstring.length - 2)] intValue]
编辑-
您得到一个响应数组,为此您必须使用-
int userid = [[dataDictionary valueForKey:@"UserId"] firstObject];
您的回答不是字典,而是数组。 因此,您的代码应如下所示:
NSArray *dataArray = [NSJSONSerialization JSONObjectWithData:receivedData options:0 error:&e];
NSLog(@"%@", dataArray);
NSDictionary *dataDictionary = dataArray[0]; //Same as objectAtIndex:
NSString *userIDString = dataDictionary[@"UserID"]; //Same as objectForKey:
//If you're still getting parens try this:
//int userIDInt = [dataDictionary[@"UserID"] intValue];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.