2012-06-20 182 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