我有以下代码从 JSON 获取 NSDictionary
:
NSError *e = nil;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"..."]]];
session.dict[@"ticketsAndAdminsList"] = [NSJSONSerialization
JSONObjectWithData: data
options: NSJSONReadingMutableContainers
error: &e];
然后,我在其他地方有:
int activeTickets = session.dict[@"ticketsAndAdminsList"][@"tickets_pending"] ? (int)session.dict[@"ticketsAndAdminsList"][@"tickets_pending"] : 0;
如果我在该行的正下方放置一个断点,则 activeTickets
的值为 55
,即使该字典中的值为 0
:
知道为什么吗?
谢谢!
最佳答案
您正在类型转换session.dict[@"ticketsAndAdminsList"][@"tickets_pending"]
到int
,但它不是 int
类型。它看起来是 NSNumber
.
你可以这样做:
int activeTickets = [session.dict[@"ticketsAndAdminsList"][@"tickets_pending"] intValue];
关于objective-c - 从 JSON 到 NSDictionary 的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29563292/