从HTTP API请求中收到的解码数据

时间:2015-10-24 00:10:23

标签: ios api http nsmutabledata

因此,我尝试使用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文档,所有这些属性(即country,nick_name,teacher_id等)都在预期中。我的问题是如何过滤掉这些数据并从一个特定属性创建一个字符串。例如,我想使用此NSMutableData中的first_name属性创建一个名为firstName的字符串。如何从数据集中提取特定属性并将其分配给字符串?如果你必须研究这个特定的API,那就是这里的NEO LMS api:neolms.com/info/features

1 个答案:

答案 0 :(得分:1)

您可以这样访问:

目标-C:

NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

NSString *firstName = [dic objectForKey:"first_name"];