我开始使用带有Objective-C的JSON,我已从服务器检索数据,并按预期获得NSDictionary
。
例如,我的字典中有两个值。
length
和start
。
length
按预期返回,NSNumber
,268
。但是,start
显然也是一个NSNumber
(我希望它会是这样)会丢掉一大串数字,就好像它没有正确格式化一样。
E.g。 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);
可以理解的是,服务器可能会将其发回给我,但目前我不知道它是如何发送的。
答案 0 :(得分:0)
每当我解析JSON数据时遇到问题,我要做的第一件事就是在我正在解析数字的代码行上放置一个断点,并检查我的NSDictionary项目的内容:
正如您在此示例中所看到的,XCode报告我的JSON Web服务中的NoteID
是NSNumber
,但我很高兴让我将其值提取到int
因此,从那里开始:检查Web服务数据的内容,看看是否指向正确的方向。