我对以下服务数据有一个小问题
{
"DataTable": {
"DataList1": {
"StudentName": "Rakesh",
"StudentId": "13",
"StudentAge": "19",
"StudentAddress": "NewYork",
},
"DataList2": [{
"TeacherName": "Abhinav",
"TeacherId": "309",
"TeacherAge": "34",
"TeacherAddress": "NewYork",
}]
}
}
我可以从 DataList1 中获取数据,但不知道如何从 DataList2 中获取数据。下面是我尝试过的代码。请帮助找出解决方案。提前致谢
- (void)connectionDidFinishLoadingNSURLConnection *)connection {
[jsonArray removeAllObjects];
NSString *responseString = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];
self.responseData = nil;
NSMutableDictionary *sdf = [(NSDictionary*)[responseString JSONValue] objectForKey"DataTable"];
NSMutableArray * myArray = [[NSMutableArray alloc] init];
if (([(NSString*)sdf isEqual: [NSNull null]])) {
UIAlertView *alert=[[UIAlertView alloc]initWithTitle"Information" message"Currently there are no Data" delegate:self cancelButtonTitle"Ok" otherButtonTitles:nil];
[alert setTag:1];
[alert show];
}else {
[myArray addObject:[sdf objectForKey"DataList1"]];
jsonArray=[myArray mutableCopy];
refilldict=[jsonArray objectAtIndex:0];
NSArray *keys = [refilldict allKeys];
for(int p=0 ; p<[keys count]; p++ )
{
NSString *value=[refilldict objectForKey:[keys objectAtIndex:p]];
if ([value isEqual: [NSNull null]]||[value length]==0) {
[refilldict setValue"" forKey:[keys objectAtIndex:p]];
}
}
lblStudentName.text = [refilldict objectForKey"StudentName"];
lblStudentId.text = [refilldict objectForKey"StudentId"];
lblStudentAge.text = [refilldict objectForKey"StudentAge"];
lblStudentAddress.text = [refilldict objectForKey"StudentAddress"];
}
self.navigationController.navigationBar.userInteractionEnabled = YES;
[HUD hide:YES];
[HUD removeFromSuperview];
HUD=nil;
}
请使用下面的代码并在其中传递您的 Initial Json 字典。
-(void)parseJsonDataNSDictionary *)jsonDictionary{
for(int i=0;i<[jsonDictionary allKeys].count;i++){
NSString *keyName = [[jsonDictionary allKeys] objectAtIndex:i];
id objValue = [jsonDictionary objectForKey:keyName];
if([objValue isKindOfClass:[NSArray class]]){
NSArray *dataList2Array = (NSArray *)objValue;
NSLog(@"DataList2 Is :--%@",dataList2Array);
}
else {
NSDictionary *dataList1 = (NSDictionary *)objValue;
NSLog(@"DataList1 Is :--%@",dataList1);
}
}
}
关于ios - 从服务获取数据 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43387685/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) | Powered by Discuz! X3.4 |