2015-06-07 71 views
0

JSON字典迴應這是我的迴應...我dictnary名稱是「味精」如何存儲在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」錯誤當運行...我也檢查數組的分配...我嘗試將其存儲在NSMutableDictionary其工作完美...我如何將此響應存儲在NSMutableArray中?

回答

0

如果在響應數據結構仔細看,你會看到這個問題。

此第一操作:msg.valueForKey("Result")將返回一個字典具有兩個鍵/值;一個「數據」字典和「狀態」字符串。

你的第二個操作.valueForKey("Data")將返回一本字典有兩個鍵/值;一個「引擎和」Tact「字典

因爲它是一本字典,你可以用它創建一個字典,這就是你說的工作,或者你將不得不重新思考你想要如何存儲,如果確實你想在一個數組,但你不能從字典中直接創建陣列 - 他們是不同的數據結構

0

不能Dictionary對象分配到數組,這就是爲什麼它是給錯誤

。但是你可以存儲字典數組:

var arrayMain : NSMutableArray = NSMutableArray() 

arrayMain.addObject(msg.valueForKey("Result")?.valueForKey("Data")) 
相關問題