iPhone应用程序中的JsonParser

时间:2011-05-09 20:50:52

标签: iphone objective-c json

我正在使用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的数字转换为字符串? 你知道如何防止这种情况发生吗?

1 个答案:

答案 0 :(得分:1)

我没有“为什么”,但它可能不是您的问题,因为您可以在检索时呼叫intValuefloatValue

NSLog(@"Points = %.2f", [[dictionary valueForKey:@"Points"] floatValue]);