JSON NSNumber返回错误

时间:2015-02-05 09:14:55

标签: ios objective-c json parsing nsnumber

我开始使用带有Objective-C的JSON,我已从服务器检索数据,并按预期获得NSDictionary

例如,我的字典中有两个值。

lengthstart

length按预期返回,NSNumber268。但是,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);

可以理解的是,服务器可能会将其发回给我,但目前我不知道它是如何发送的。

1 个答案:

答案 0 :(得分:0)

每当我解析JSON数据时遇到问题,我要做的第一件事就是在我正在解析数字的代码行上放置一个断点,并检查我的NSDictionary项目的内容:

enter image description here

正如您在此示例中所看到的,XCode报告我的JSON Web服务中的NoteIDNSNumber,但我很高兴让我将其值提取到int

因此,从那里开始:检查Web服务数据的内容,看看是否指向正确的方向。