2016-12-06 2 views
0

Я новичок в iOS и сталкиваюсь с проблемой получения словаря внутри массива.Как получить NSDictionary внутри массива

массив как это:

[{"CheckPointId":41,"AId":4,"CheckPoint":"Check SOP maintained near all equipments and loads","MId":41,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":42,"AId":4,"CheckPoint":"Check Single line diagram (SLD) is maintained in panel area","MId":42,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":43,"AId":4,"CheckPoint":"Check danger notices are maintained at site","MId":43,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":44,"AId":4,"CheckPoint":"Check Rubber mats are maintained infront of the electrical panels","MId":44,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":45,"AId":4,"CheckPoint":"Check the availibility of HT gloves","MId":45,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":46,"AId":4,"CheckPoint":"Check Treatment of Electric shock board is displayed","MId":46,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":47,"AId":4,"CheckPoint":"Check Total connected load details are displayed","MId":47,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":48,"AId":4,"CheckPoint":"Check LOTO is in practice ","MId":48,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":49,"AId":4,"CheckPoint":"Check for Lightning arrestor installed in terrace","MId":49,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":50,"AId":4,"CheckPoint":"Check APFC is maintaining power factor (0.99 - 1.00)","MId":50,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":51,"AId":4,"CheckPoint":"Check for history cards maintained near equipments","MId":51,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":52,"AId":4,"CheckPoint":"Check checklists are maintained up to date and duely signed by site incharge","MId":52,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":53,"AId":4,"CheckPoint":"Check for earthing provided to equipments","MId":53,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":54,"AId":4,"CheckPoint":"Check for exhaust mechansim in the equipment and load section","MId":54,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":55,"AId":4,"CheckPoint":"Check for fire extinguisher in the equipment area","MId":55,"MethodOfMeasure":"Visual Inspection"}] 

Я использовал код, как этот

NSString *string = [LoginResult valueForKey:@"text"]; 

NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; 

NSArray *responsearry = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

for(NSDictionary *dict in responsearry) { 
    NSLog(@"----dict--%@",dict); 
} 

Но это дает мне только первое значение, которое на 0th индекс.

+0

Вы можете анализировать словарь как этот 'for dict in yourArray' {' dict' - это ваш разобранный dict} – PiyushRathi

+0

@PiyushRathi Но он отображается только по значению. – Muju

+0

мы применили для цикла здесь, это будет итерация до последнего dict в вашем массиве. – PiyushRathi

ответ

0

Вы можете использовать for Loop, если вы хотите, чтобы итерация все Dict:

NSArray *yourArray = [{"CheckPointId":41,"AId":4,"CheckPoint":"Check SOP maintained near all equipments and loads","MId":41,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":42,"AId":4,"CheckPoint":"Check Single line diagram (SLD) is maintained in panel area","MId":42,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":43,"AId":4,"CheckPoint":"Check danger notices are maintained at site","MId":43,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":44,"AId":4,"CheckPoint":"Check Rubber mats are maintained infront of the electrical panels","MId":44,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":45,"AId":4,"CheckPoint":"Check the availibility of HT gloves","MId":45,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":46,"AId":4,"CheckPoint":"Check Treatment of Electric shock board is displayed","MId":46,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":47,"AId":4,"CheckPoint":"Check Total connected load details are displayed","MId":47,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":48,"AId":4,"CheckPoint":"Check LOTO is in practice ","MId":48,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":49,"AId":4,"CheckPoint":"Check for Lightning arrestor installed in terrace","MId":49,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":50,"AId":4,"CheckPoint":"Check APFC is maintaining power factor (0.99 - 1.00)","MId":50,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":51,"AId":4,"CheckPoint":"Check for history cards maintained near equipments","MId":51,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":52,"AId":4,"CheckPoint":"Check checklists are maintained up to date and duely signed by site incharge","MId":52,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":53,"AId":4,"CheckPoint":"Check for earthing provided to equipments","MId":53,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":54,"AId":4,"CheckPoint":"Check for exhaust mechansim in the equipment and load section","MId":54,"MethodOfMeasure":"Visual Inspection"},{"CheckPointId":55,"AId":4,"CheckPoint":"Check for fire extinguisher in the equipment area","MId":55,"MethodOfMeasure":"Visual Inspection"}]; 

    for(NSDictionary *dict in yourArray) 
    { 
      NSLog(@"----dict--%@",dict); 
    } 

Если вы хотите получить Dictionary в частности индекс:

int index = 1; 
    NSDictionary *dict = [yourArray objectAtIndex:index]; 
+0

У меня есть 10 объектов в моем массиве. Но когда я использовал ваш код, значение Dict печатает только 5 Пара ключей/значений. Имеет только один объект. – Muju

+0

@Muju вы используете For loop ?? – Dalvik

+0

@Muju такси вы выставляете фактический код здесь ?? – Dalvik

0

вы проверить, если ваш JSON строка хорошо сформирована? с "\" например: {\ "user1 \": {\ "Iden \": 4, \ "nID \": 1}, \ "user2 \": {\ "Iden \": 5, \ "nID \": 1}}

+0

@MararIbragimov хорошо сформирован. – Muju

+0

Я имел в виду, что это должен быть javascript escaped: –

+0

@ "[{\" CheckPointId \ ": 41, \" AId \ ": 4, \" CheckPoint \ ": \" Проверить SOP поддерживается рядом со всеми устройствами и нагрузками \ ", \" MId \ ": 41, \" MethodOfMeasure \ ": \" Визуальный осмотр \ "}, {\" CheckPointId \ ": 42, \" AId \ ": 4, \" CheckPoint \ ": \" Проверить Однолинейная диаграмма (SLD) поддерживается в области панели \ ", \" MId \ ": 42, \" MethodOfMeasure \ ": \" Визуальный осмотр \ "}, {\" CheckPointId \ ": 43, \" AId \ " : 4, \ "CheckPoint \": \ "Проверить уведомления об опасности на сайте \", \ "MId \": 43, \ "MethodOfMeasure \": \ "Визуальный осмотр \"}] " –

Смежные вопросы