SBJSON проблемы со значением ключа NSDictionary

Я получил строку JSON, как показано ниже:

{"status": "ok", "secret": "d2d388eb3a24aaacb365597f69a2bf97", "client": "100006", "expires": "1345721042"}

Для анализа объекта JSON я использую библиотеку SBJSON.

Это мой код, который я использовал для получения данных из объекта JSON:

SBJsonParser *jsonParser = [[SBJsonParser alloc] init];
NSError *error = nil;
NSArray *jsonObjects = [jsonParser objectWithString:[request responseString] error:&error];

но когда я пытаюсь открыть свой словарь в NSLog, у меня нет объекта значения пары ключей, а есть только ключ, например: status, secret, client и expires.

Как я могу получить NSDictionary с объектом значения ключа с помощью библиотеки SBJSON

{        
    status = "ok"; 
    secret = "d2d388eb3a24aaacb365597f69a2bf97";
}

1 ответ

Решение

Это потому, что вы устанавливаете результат вашего анализа на объект NSArray. Вы должны сохранить результаты JSONParser как объект NSDictionary, чтобы сохранить его в виде пар ключ-значение

NSDictionary *jsonObjects = [jsonParser objectWithString:[request responseString] error:&error];

Тогда вы можете получить к ним доступ так:

NSString *status = [jsonObjects objectForKey:@"status"];
NSString *secret = [jsonObjects objectForKey:@"secret"];
// and so on
Другие вопросы по тегам