[英]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.