Данные декодирования, полученные из запроса HTTP API
Поэтому я пытаюсь использовать API для запроса оценок в нашей системе оценок школ, чтобы создать приложение, которое учащиеся могут использовать для проверки своих оценок. Я использую запрос NSURL для получения этих данных, и он возвращается в форме NSMutableData. Когда эти возвращенные данные выводятся в виде строки, это выглядит примерно так:
{"ss#":null,"country":"United States","nick_name":null,"teacher_id":null,"parent":false,"teacher":true,"sms_email":null,"first_name":"Will","joined_at":"2015-10-22T16:58:51-07:00","monitor":false,"picture":"http://sbms.neolms.com/files/root/Hikaru.jpg?lmsauth=f66e77cf0971fc70efd01cd63c403e948afba1f4","student_id":null,"zip":null,"city":null,"student":false,"last_name":"Oakley","state":"CA","street_1":null,"skype":null,"assistant":false,"logins":1,"password":"1fc87c4f58bc472cb2ed2173ac048152242b7e49","birthdate":null,"email":null,"street_2":null,"last_login_at":"2015-10-22T16:58:53-07:00","first_login_at":"2015-10-22T16:58:53-07:00","userid":"woakley5","id":3016816,"administrator":true}
[Не волнуйтесь, ни одна из этих данных не является личной, это все из тестовой "школы", которую я настроил, чтобы сделать это приложение]
Итак, вы можете видеть, что запрос возвращает огромный список данных со свойствами, за которыми следуют значения. Все эти свойства (например, страна, ник, учитель и т. Д.) Находятся там, как и ожидалось при чтении документации API. У меня вопрос, как бы я отфильтровать эти данные и создать строку из одного конкретного свойства. Например, я хотел создать строку с именем firstName, используя свойство first_name из этого NSMutableData. Как мне извлечь это конкретное свойство из набора данных и присвоить его строке? Если вам нужно исследовать этот конкретный API, это API-интерфейс NEO LMS, который можно найти здесь: http://neolms.com/info/features
1 ответ
Вы можете получить доступ так:
Objective-C:
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *firstName = [dic objectForKey:"first_name"];