NSJSONSerialization 不处理负整数
NSJSONSerialization not handling negative integers
我正在尝试将 JSON 文件解析为 NSArray,它对正数都适用。然而,JSON 文件中的所有负整数都会产生像“[11] __NSCFNumber * (long)72057594037927933” 这样的高数。我怎样才能让它工作?
这是我的 JSON 文件:
[0,1,2,3,4,5,6,7,8,9,10,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11]
这里是代码:
NSError* error;
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://some/json/file.json"]];
NSMutableArray* array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
Xcode 并不总是将好的值打印到 Xcode 的调试区域(上下文的实时值出现的地方)。
我将你的代码放入我自己的项目中,当我逐行执行时,我确实看到了“eachNumber __NSCFNumber * (long)72057594037927934 {0xbfffffffffffffe3}
位,但如果我尝试将数组的值打印到控制台,你您会看到正确的“-2
”结果。
自己试试吧。我在你的后面添加了这些行:
NSMutableArray* array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSLog(@"array is %@", array);
for(id eachNumber in array)
{
NSLog(@"eachNumber is %@", eachNumber);
}
我正在尝试将 JSON 文件解析为 NSArray,它对正数都适用。然而,JSON 文件中的所有负整数都会产生像“[11] __NSCFNumber * (long)72057594037927933” 这样的高数。我怎样才能让它工作?
这是我的 JSON 文件:
[0,1,2,3,4,5,6,7,8,9,10,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11]
这里是代码:
NSError* error;
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://some/json/file.json"]];
NSMutableArray* array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
Xcode 并不总是将好的值打印到 Xcode 的调试区域(上下文的实时值出现的地方)。
我将你的代码放入我自己的项目中,当我逐行执行时,我确实看到了“eachNumber __NSCFNumber * (long)72057594037927934 {0xbfffffffffffffe3}
位,但如果我尝试将数组的值打印到控制台,你您会看到正确的“-2
”结果。
自己试试吧。我在你的后面添加了这些行:
NSMutableArray* array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSLog(@"array is %@", array);
for(id eachNumber in array)
{
NSLog(@"eachNumber is %@", eachNumber);
}