2015-08-07 2 views
0

Я работаю с вложенным объектом Json в ios, и проблема в том, что я не могу его разобрать. Может ли кто-нибудь помочь мне в этом. Я следил за многими ссылками, но результат оказался плодотворным.Анализ и нажатие вложенного объекта json в ios

Json файла выглядит следующим образом:

{

"taskList":[ 
    { 
     "taskId":101, 
     "taskName":"Survey Task1", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-26", 
     "dueDate":"2014-11-27", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAFvodafone", 
       "formName":"CAF vodafone", 

      }, 
      { 
       "formId":"CAF", 
       "formName":"CAF", 

      }, 
      { 
       "formId":"telenore_cdk", 
       "formName":"telenore cdk", 

      } 
     ] 
    }, 
    { 
     "taskId":102, 
     "taskName":"Survey Task2", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-26", 
     "dueDate":"2014-11-27", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"Salesform", 
       "formName":"Sales form", 

      } 
     ] 
    }, 
    { 
     "taskId":111, 
     "taskName":"Survey Task8", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-29", 
     "dueDate":"2014-12-20", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAF", 
       "formName":"CAF", 

      } 
     ] 
    }, 
    { 
     "taskId":118, 
     "taskName":"Survey Task8", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-29", 
     "dueDate":"2014-12-20", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAFvodafone", 
       "formName":"CAF vodafone", 

      } 
     ] 
    }, 
    { 
     "taskId":113, 
     "taskName":"Survey Task8", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-29", 
     "dueDate":"2014-12-20", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAF", 
       "formName":"CAF", 

      } 
     ] 
    }, 
    { 
     "taskId":112, 
     "taskName":"Survey Task8", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-29", 
     "dueDate":"2014-12-20", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAF", 
       "formName":"CAF", 

      } 
     ] 
    }, 
    { 
     "taskId":116, 
     "taskName":"Survey Task8", 
     "details":"australian map for field partners", 
     "dropDate":"2014-11-29", 
     "dueDate":"2014-12-20", 
     "supervisorId":12, 
     "supervisorContactInfo":"54543", 
     "status":"assigned", 
     "formList":[ 
      { 
       "formId":"CAFvodafone", 
       "formName":"CAF vodafone", 

      } 
     ] 
    } 
] 

Автор: Руп

ответ

1

из словаря JSon

id arrayTrack = json[@"taskList"]; 

    if ([arrayTrack isKindOfClass:[NSArray class]]){ // check it array or not 

     for (id trackDictionary in arrayTrack) { 

      if ([trackDictionary isKindOfClass:[NSDictionary class]]){ //check it Dictionary or not 

       trackId = trackDictionary[@"taskId"]; 
// Like this you can fetch other key values... 
      } 


     } 

    } 

я думаю, что это поможет :)

0

Вы попробовать этот способ разбора данных JSON

NSLog(@"%@",[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskName"]); 

JSON обратный ответ словарь первым получить значение из словаря

[yourjsonDictionary objectForKey:@"taskList"] // this statement return array 

Вы получаете первый ключ и значение в массиве и получить значение массива, как таким образом

[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] // return first array element 

получить значение 0 элемента

[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskName"] //return task name 

[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskId"] // return task Id 

Получить данные Уплотненного formList

[[[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"formList"] objectAtIndex:0] objectForKey:@"formName"] // return form name 

ИЛИ

NSLog(@"%@",yourjsonDictionary[@"taskList"][0][@"taskName"]); // print task name 
Смежные вопросы