【发布时间】:2015-02-05 09:14:54
【问题描述】:
我开始使用带有 Objective-C 的 JSON,我已从服务器检索数据,并按预期获得了 NSDictionary。
例如,我的字典中有两个值。
length 和 start。
length 按预期返回,NSNumber、268。然而,start 显然也有一个 NSNumber(我希望它会这样)正在处理一长串数字,就好像它的格式不正确。
例如start = 1423113951.
如何确定我收到的数据类型?它被正确解析了吗?以及我应该如何处理它?
我知道start 是一个数字,它应该返回类似于length,但我得到的长数字几乎每次运行时都相同,所以它显然没有正确格式化。
我只需记录我从以下地址返回的NSDictionary 即可获得这些值:
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
一些额外的细节,这是我对数据的要求:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://secretAddress"]];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@", json);
可以理解,这可能是服务器如何将其发送回给我,但目前我不知道它是如何发送的。
【问题讨论】:
-
传递给webservice的实际值是多少,我的意思是起始值?
-
如何将值转换为 NSNumber 如果我没记错 NSJSONSerialization 将字符串作为值返回
-
添加了一些额外的细节来显示完整的代码。收到字典后,我刚刚登录了
[json objectForKey:@"start"] class],它告诉我这是一个NSNumber。或者这是一个潜在的误解? -
我建议你尝试其他的,然后只是苹果,我会尝试使用 Advanced REST 客户端来验证数据。
-
是的,它对于测试您所依赖的 REST API 非常有用,这可以为您节省大量时间...看起来确实像服务器问题 :)
标签: ios objective-c json parsing nsnumber