我的json数据样本是
[
{
"id": "244",
"name": "PIZZAS",
"image": "",
"coupon": "1",
"icon": "",
"order": "1",
"aname": "",
"options": "2",
"subcategory": [
{
"id": "515",
"name": "MARGARITA",
"description": "Cheese and Tomato",
"image": "",
"icon": "",
"coupon": "1",
"order": "1",
"aname": "",
"options": "2",
"item": [
{
"id": "1749",
"name": "9 Inch Thin & Crispy Margarita",
"description": "",
"price": "3.40",
"coupon": "1",
"image": "",
"options": "2",
"order": "1",
"addon": "495",
"aname": "",
"icon": ""
}]
}]
}]
这个Json不是整个数据。我只是简单地给出了样本数据。因为不可能发送所有数据。 我能够在每个特定项目的NSdDictionary数组中获取响应数据。之后,我试图保存每个特定数据,如所有名称,所有子类别名称,数组中的所有项目名称,以便我可以在表格视图中显示它。我使用了以下代码
Alamofire.request(.GET, myUrl, parameters:nil , encoding: .JSON)
.validate()
.responseJSON
{ response in
// print("Response JSON: \(response.result.value)")
let array = response.result.value as! Array<NSDictionary>
for item in array
{
let Name = item["name"]!
print(Name)
self.menuName.arrayByAddingObject(Name) ///error below mentioned
let ID = item["id"]!
print(ID)
let Order = item["order"]!
print(Order)
let Subcategories = item["subcategory"]! as! Array<NSDictionary>
//print(Subcategories)
for subCategory in Subcategories
{
let subId = subCategory["id"]!
print(subId)
let subName = subCategory["name"]!
print(subName)
let subDesc = subCategory["description"]!
print(subDesc)
let suborder = subCategory["order"]!
print(suborder)
let SubItems = subCategory["item"]! as! Array<NSDictionary>
//print(SubItems)
for subItem in SubItems
{
let itemId = subItem["id"]!
print(itemId)
let itemName = subItem["name"]!
print(itemName)
let itemPrice = subItem["price"]!
print(itemPrice)
let itemOrder = subItem["order"]!
print(itemOrder)
let itemAddOn = subItem["addon"]!
print(itemAddOn)
}
}
}
print("Names of menu are : \(menuName)")
我将menuName视为NSArray
。错误来自"can't unwrap the optional value "
。如何实现这个??