Получение правильного значения из NSString "в стиле JSON" в target-c - PullRequest
0 голосов
/ 12 мая 2011

Я пытаюсь получить NSString "Bonjour" из строки NSString в стиле JSON ниже:

[[["Bonjour","Hello","",""]],,"en",,[["Bonjour",[4],1,0,1000,0,1,0]],[["Hello",4,[["Bonjour",1000,1,0]],[[0,5]],"Hello"]],,,,2]

Реализация следующего кода дает мне ноль, при условии, что результатом является строка NSString выше

NSDictionary *td = [result JSONValue];
NSLog(@"\n%@", td);  

Как мне получить "Bonjour" из этой строки в стиле JSON?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Я не думаю, что это правильно сформированный JSON. Во-первых, это вернуло бы массив .. (окруженный [], а не {}). Кроме того, в ваших массивах есть пустые записи (',', ничто не разделяет их)

Вы используете SBJSON?

Если вы обратитесь к NSObject + JSON.h, вы увидите этот комментарий:

/// Returns the NSDictionary or NSArray represented by the receiver's JSON representation, or nil on error

Произошла ошибка. Проверьте вывод вашей консоли, там должна появиться ошибка.

0 голосов
/ 12 мая 2011

Я несколько не уверен, что отправленный вами массив представляет собой NSString в стиле JSON, но я считаю, что возвращаемый вами NSDictionary должен в основном хранить пары ключ-значение в точности так, как они выглядели в оригинале JSON.Например, если у вас есть JSON, например:

{key: "value"}

Тогда вы получите NSDictionary с ключом "key", совпадающим со значением "value".

Возможно, причина вашейNSDictionary является нулевым, потому что вы не передаете ему что-то, что JSONValue понимает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...