2012-06-20 5 views
-1

У меня есть строковые данные, которые мне нужно проанализировать в словаре. Вот мой код:Objective C: Parsing JSON string

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