У меня есть конкретное имя пользователя (NSString *
), и я делаю запрос на api (через sendSynchronousRequest
), чтобы получить всех пользователей. Данные, собранные у этой схема:Уточнить конкретный идентификатор от ответа Json от api (цель-c)
{"users":
[{"id":3,"username":"Max","email":"[email protected]","rank":0,"level":0,"score":{},"first_name":null,"last_name":null,"date_birth":null},
{"id":4,"username":"Guest","email":"[email protected]","rank":0,"level":0,"score":{},"first_name":null,"last_name":null,"date_birth":null},
{"id":5,"username":"Root","email":"[email protected]","rank":0,"level":0,"score":{},"first_name":null,"last_name":null,"date_birth":null},
{"id":6,"username":"test_user","email":"[email protected]","rank":0,"level":0,"score":{},"first_name":null,"last_name":null,"date_birth":null}
]}
, и я заинтересован в получении значения идентификатора для конкретного пользователя (например, «4» для «гостя»), чтобы использовать его в других запросах.
Я пытался следовать how to parse array of objects using json for iphone, но есть некоторые проблемы, связанные с форматом { "ххх": [{...}, {...}, ..]}
Любая помощь будет оценена. Thx для вашего времени.
Спасибо большое, это не сработало в первый, я изменил всего несколько вещей: NSDictionary * usersDictionary = [NSJSONSerialization JSONObjectWithData: параметры данных: kNilOptions error: & error]; NSArray * users = [usersDictionary valueForKey: @ "users"]; NSPredicate * predicate = [предикат NSPredicateWithFormat: @ "username =% @", self.Username]; NSDictionary * user = [[users filtersArrayUsingPredicate: предикат] firstObject]; NSNumber * userId = [user objectForKey: @ "id"]; И это работает! Еще раз спасибо за этот быстрый ответ, это экономит мой день! – Pierre
@Pierre вас приветствуют :) –