AFN框架默认就是使用JSON方式来发送和响应JSON数据,但若是返回的JSON数据是嵌套的,结构更复杂,就须要本身来进行处理了,昨天在作返回设备列表的时候,就为了解析数据拼命尝试各类方法,一度还使用了JSONOKit框架,可是效果并不理想,结果在偶然状况下发现AFN框架自动对返回的JSON数据作了处理,用户拿到数据后只须要根据相应的状况去取出来便可,下面是具体过程:java
返回来的数据:json
{"result":"OK","rows":[["Hhb","452019131269330"]]}
解析代码:
数组
[HHHttpTool getJSON:url parame:params success:^(id responseObj) { HHLog(@"-----------%@",responseObj); NSLog(@"json.result:%@", [responseObj objectForKey:@"result"]); NSLog(@"json.rows:%@", [responseObj objectForKey:@"rows"]); NSMutableArray *rows = [responseObj objectForKey:@"rows"]; for (NSMutableArray * obj in rows) { int i = 0; HHLog(@"输出对象数组:%@", rows); // for (NSMutableArray * obj2 in object) // { // NSLog(@"输出对象数组:%@", obj2); // // } // 建立模型 HHDevice *device = [HHDevice deviceWithNickName:obj[i] IMSI:obj[i+1]]; // 保存数据到数组中 [self.device addObject:device]; // 刷新表格 [self.tableView reloadData]; i += 1; } } failure:^(NSError *error) { HHLog(@"error %@",error); }];
在移动应用中,最重要的一项就是如何有效的去解析数据,由于移动设备自己限制了应用去作更多的工做,app大概只须要作这几件事:显示UI、发送请求、解析数据以及对用户的输入进行基本的过滤。app