objective-c - 从 JSON 到 NSDictionary 的奇怪结果

标签 objective-c json cocoa nsdictionary

我有以下代码从 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 :

Wrong value

知道为什么吗?

谢谢!

最佳答案

您正在类型转换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/

相关文章:

json - 当API返回一个对象时,AngularJS ng-repeater无法正确读取json

objective-c - 在 Cocoa 中将击键发送到前端应用程序?

cocoa - NSTextView 检查栏在 Sierra 10.12 上崩溃

ios - -[__NSCFArray objectForKey :]: unrecognized selector sent to instance 0x11c824e0

ios - 如何存储永久数据

ios - 通过几个不相关的类传递方法调用

ios - map View 不更新相机位置,也不使用 animateToLocation

java - 搜索类型 JSONPath

python - Postgres : unterminated quoted string at or near using psycopg2

cocoa - NSImage 上的 NSScrollView 和 ScrollToPoint