如何获取swift中字典数组中的数据?

how to get the data in array of dictionary in swift?

我想在下面的代码中[[value1,value2,...],[value1, value2],[value1],.....]以这种形式保存子类别数据

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)
                      }

我需要像上面的结构一样将所有子类别名称附加到字典数组中。在这里,我将 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",


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

如果您尝试此代码

      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];
                   }
           }
}

swift 例子

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)

                        }
         }