我正在使用JSON库并看到这种情况:
将JSON字符串转换为NSDictionary
情景1:
NSString *jsonString = @"{\"Name\":\"Foo\", Points:5}";
NSDictionary *dictionary = (NSDictionary*)[jsonParser objectWithString:jsonString];
NSLog(@"Dictionary: %@",dictionary);
我看到结果如下:
字典:{ Name =“Foo”; 积分= 5; }
这是正确的。
情景2:
NSString *jsonString = @"{\"Name\":\"Foo\", Points:0.5}";
NSDictionary *dictionary = (NSDictionary*)[jsonParser objectWithString:jsonString];
NSLog(@"Dictionary: %@",dictionary);
我看到结果如下:
字典:{ Name =“Foo”; 分数=“0.5”; } 的 ???
场景3:
NSString *jsonString = @"{\"Name\":\"Foo\", Points:-1}";
NSDictionary *dictionary = (NSDictionary*)[jsonParser objectWithString:jsonString];
NSLog(@"Dictionary: %@",dictionary);
我看到结果如下:
字典:{ Name =“Foo”; Points =“ - 1”; } 的 ???
为什么JSON库会将负数或小于1的数字转换为字符串? 你知道如何防止这种情况发生吗?
答案 0 :(得分:1)
我没有“为什么”,但它可能不是您的问题,因为您可以在检索时呼叫intValue
或floatValue
。
NSLog(@"Points = %.2f", [[dictionary valueForKey:@"Points"] floatValue]);