问题在JSON响应中解析整数

时间:2011-09-12 18:09:30

标签: string json integer response

我有以下JSON响应字符串

 {"firstname":"a","lastname":"a","jobtitle":"software developer","companyname":"abc","mobileno":9461438988} 

我无法获取'mobileno'字段的字符串值 这就是我阅读'mobileno'字段的方式

self.dispPhone = [NSString stringWithFormat:@"%@ ",[parsedProfileData valueForKey:@"mobileno"]]; 

当我NSLog它

时,这里的字符串变成了一些垃圾值'2147483647'

2 个答案:

答案 0 :(得分:0)

数字9,461,438,988不能存储在32位值中,因此会被截断以适应。

您应将电话号码存储为字符串(就像邮政编码一样)。

通常,您不想在(<>)上进行算术或数字比较的任何内容都是字符串,而不是数字。

答案 1 :(得分:0)

首先,电话号码不是整数。电话号码可能以重要的0或+开头。例如,在德国,00..是国际,0国家,以及任何其他数字区域。

返回值是可能的最高31位数。由于您的JSON编码器解码为带符号的32位整数,因此这是它可以为您提供的最佳值。

要解决此问题,请将电话号码格式化为原始字符串。