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