2015-06-07 2 views
0

Это мой ответ ... Моя dictnary зовут «сообщение»Как хранить JSON словарь ответ в NSMutableArray

{ 
Result =  { 
    Data =   { 
     engine =    { 
      service =     { 
       data =      (
              { 
         checked = 1; 
         field = 1; 
         name = Ettersyn; 
        }, 
              { 
         checked = 1; 
         field = 1; 
         name = "Med Alpha VP"; 
        }, 
              { 
         checked = 0; 
         field = 0; 
         name = "Med B.IMP."; 
        } 
       ); 
       "engine_service_id" = 1; 
       "engine_service_name" = "4 Cyl"; 
      }; 
      type =     { 
       "engine_id" = 1; 
       "engine_name" = Benzin; 
      }; 
     }; 
     tact =    { 
      service =     { 
       data =      (
              { 
         checked = 0; 
         field = 1; 
         name = "Little ettersyn"; 
        }, 
              { 
         checked = 0; 
         field = 1; 
         name = "Short ettersyn"; 
        } 
       ); 
       "tact_service_id" = 2; 
       "tact_service_name" = "21-50 hk"; 
      }; 
      type =     { 
       "tact_id" = 1; 
       "tact_name" = "2 Takt"; 
      }; 
     }; 
    }; 
    status = success; 
}; 
} 

Я стараюсь, чтобы хранить данные как этот

var arrayMain : NSMutableArray = msg.valueForKey("Result")?.valueForKey("Data") as NSMutableArray 

Моя проблема есть ли ошибка «EXC_BAD_ACCESS»? При запуске ... Am также проверить выделение массива ... Я пытаюсь сохранить его в NSMutableDictionary, его работа отлично ... Как я могу сохранить этот ответ в NSMutableArray?

ответ

0

Если вы внимательно посмотрите на структуру данных ответа, вы увидите проблему.

Эта первая операция: msg.valueForKey("Result") вернет словарь с двумя ключами/значениями; «Словарь данных» и строка «Статус».

Ваша вторая операция .valueForKey("Data") вернет словарь с двумя ключами/значениями; словарь «Engine» и «Tact».

Поскольку это словарь, вы можете создать словарь, из которого вы сказали, или вам придется переосмыслить, как вы хотите хранить, если действительно вы хотите его в массиве, но вы не можете создать массив непосредственно из словаря - это разные структуры данных

0

вы не можете назначить словарь объекта Array, поэтому он дает ошибку

.. Но вы можете сохранить этот словарь для массива как:

var arrayMain : NSMutableArray = NSMutableArray() 

arrayMain.addObject(msg.valueForKey("Result")?.valueForKey("Data")) 
Смежные вопросы