簡體   English   中英

從JSON響應解析

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM