2012-06-20 127 views
-1

我有一个字符串数据,我需要解析成一个字典对象。这里是我的代码:目标C:解析JSON字符串

NSString *barcode = [NSString stringWithString:@"{\"OTP\": 24923313, \"Person\": 100000000000112, \"Coupons\": [ 54900012445, 499030000003, 00000005662 ] }"]; 
NSLog(@"%@",[barcode objectFromJSONString]); 

在这个日志中,我得到NULL结果。但是如果我在优惠券中只传递一个值,我会得到结果。如何获得所有三个值?

回答

0

西里尔是正确的,这里是autoritative答案:

The application/json Media Type for JavaScript Object Notation (JSON): 2.4 Numbers

数字的表示是类似于大多数编程语言中使用。一个数字包含一个整数部分,该部分可能带有一个可选的减号前缀,后面可能跟着一个小数部分和/或一个指数部分。

不允许使用八进制和十六进制格式。 不允许使用前导零。

+0

谢谢。我试过“00000005662”。这工作。 – utsabiem

1

00000005662可能不是一个合适的整数,因为它的前缀为零(这意味着它是八进制的,IIRC)。尝试删除它们。

+1

当试图从JSON解析器中获取错误时,实际上似乎是这个问题。 +1,你好,先生。 –

+0

我喜欢被称为“好先生”。让我觉得我是英国的领主。 :) – Cyrille