2016-06-30 7 views
-2

私は上記のような構造辞書のアレイ内のすべてのサブカテゴリ名を追加する必要があり、次のコードどのように迅速に辞書の配列でデータを取得するには?

var subcategories = [SubCategory]() 
        for (_, item) in json { 
         //do something with item.id, item.name 

         for (_, subcategory) in item["subcategory"] { 

          let subcategory = SubCategory(
           id: Int(subcategory ["id"].stringValue), 
           name: subcategory ["name"].string, 
           desc: subcategory ["desc"].string, 
           image: subcategory ["image"].string, 
           coupon: Int(subcategory ["coupon"].stringValue), 
           icon: subcategory ["icon"].string, 
           order: Int(subcategory ["order"].stringValue), 
           aname: subcategory ["aname"].string, 
           options: Int(subcategory ["options"].stringValue), 
           items: subcategory ["items"].arrayObject 
          ) 

          subcategories.append(subcategory) 

         } 



          print(subcategories.count) 
          for sub in subcategories { 
          print(sub.name) 
          print(sub.id) 
          print(sub.desc) 

          self.SUBCATNAME.append(sub.name!) 
          self.SUBARRAY?.append(self.SUBCATNAME) 
          } 
         print(self.SUBCATNAME) 
         print(self.SUBARRAY) 
         } 

でこのフォーム[[value1,value2,...],[value1, value2],[value1],.....]でサブカテゴリのデータを保存したいです。ここではSUBARRAYをvar SUBARRAY:[[String]] = []として作成しました。値はゼロになっています。ここでは、Swiftyjsonを使用してApiからjsonデータを取得しています。これを実装する方法は?

私のサンプルJSONデータは以下の通りである:賢いのような ので、多くのサブカテゴリが

がある
  [ 
    { 
    "id": "244", 
    "name": "PIZZAS", 
    "subcategory": [ 
     { 
     "id": "515", 
     "name": "MARGARITA", 
     "description": "Cheese and Tomato", 
     "image": "", 
     "icon": "", 
     "coupon": "1", 
     "order": "1", 
     "aname": "", 
     "options": "2" 
     }, 
     { 
     "id": "516", 
     "name": "ABC", 
     "description": "HNDDSGHFD", 
     "image": "", 
     "icon": "", 
     "coupon": "1", 
     "order": "1", 
     "aname": "", 
     "options": "2", 


     }, 
     { 
     "id": "516", 
     "name": "DEF", 
     "description": "HFDGFJJFHFKH", 
     "image": "", 
     "icon": "", 
     "coupon": "1", 
     "order": "1", 
     "aname": "", 
     "options": "2", 


     } 
     ] 
    }, 
    { 
    ...... 
    } 
    ] 

答えて

0

あなたはこのコードをしようとした場合

 for (NSDictionary *dictionary in ArrCategory) 
{ 
     NSMutableArray *sub_cat_data=[dictionary objectForKey:@"sub_cat_data"]; 
     for (NSDictionary *sub_cat_dict in sub_cat_data) 
      { 
       NSMutableArray *sub_cat_data=[sub_cat_dict objectForKey:@"sub_data"]; 
        for (NSDictionary *dictionary1 in sub_cat_data) 
        { 
        NSMutableDictionary *Dic_Sub_cat=[[NSMutableDictionary alloc]init]; 
        NSString *str_dic_id=[dictionary1 objectForKey:@"sub_id"]; 
        NSString *str_dic_name=[dictionary1 objectForKey:@"sub_name"]; 
        [Dic_Sub_cat setObject:str_dic_id forKey:@"sub_id"]; 
        [Dic_Sub_cat setObject:str_dic_name forKey:@"sub_name"]; 
        [Dic_Sub_cat setObject:@"0" forKey:@"sub_Chekid"]; 
        [New_ArrCategory addObject:Dic_Sub_cat]; 
        } 
      } 
} 

迅速例

if let results: NSMutableArray = jsonResult["data"] as? NSMutableArray 
        { 
         var ArrMoodtype2 : NSMutableArray! 
         ArrMoodtype2 = NSMutableArray() 

         ArrMoodtype2 = results 
         ArrFeel = NSMutableArray() 
         for var i = 0; i < ArrMoodtype2.count; i++ 
         { 
          var Dic : NSMutableDictionary! 
          Dic = NSMutableDictionary() 
          let tempDic: NSMutableDictionary = ArrMoodtype2[i] as! NSMutableDictionary 
          let strMoodCatID = tempDic ["mood_cat_id"] as! String 
          let strMoodID = tempDic ["mood_id"] as! String 
          let strMoodImage = tempDic ["mood_image"] as! String 
          let strMoodName = tempDic ["mood_name"] as! String 

          Dic.setObject(strMoodCatID, forKey: "mood_cat_id") 
          Dic.setObject(strMoodID, forKey: "mood_id") 
          Dic.setObject(strMoodImage, forKey: "mood_image") 
          Dic.setObject(strMoodName, forKey: "mood_name") 
          ArrFeel.addObject(Dic) 

         } 
     } 
+0

このコードです客観的にc。迅速なコードで送信できますか? –

関連する問題