Ios 如何从JSON与NSObject交互?
我在斯威夫特工作,有个问题 我已经能够以数组的形式从API成功地获取数据(返回的JSON以[]开头,因此是一个数组),但是我想使用的一个特定API返回嵌套对象(JSON以{}开头,而不是[])因此,它在结构上不是一个数组。这是数据。正如您所看到的,顶层是UserRestoreData,它内部有两个第二级组件:FavoriteMeals和FavoriteDrinks。它们本身有任意数量的表示膳食或饮料的子级,而这些子级又有任意数量的成分Ios 如何从JSON与NSObject交互?,ios,swift,ios8,Ios,Swift,Ios8,我在斯威夫特工作,有个问题 我已经能够以数组的形式从API成功地获取数据(返回的JSON以[]开头,因此是一个数组),但是我想使用的一个特定API返回嵌套对象(JSON以{}开头,而不是[])因此,它在结构上不是一个数组。这是数据。正如您所看到的,顶层是UserRestoreData,它内部有两个第二级组件:FavoriteMeals和FavoriteDrinks。它们本身有任意数量的表示膳食或饮料的子级,而这些子级又有任意数量的成分 {"UserRestoreData":[ {"Fav
{"UserRestoreData":[
{"FavoriteMeals":
[
{"FoodID":"1","Title":"Veal Marsala",
"Ingredients":{"IngredientID":"1","Name":"Veal"}
}
]
},
{"FavoriteDrinks":
[
{"DrinkID":"1","Title":"Mint Mojito"}
]
}
]
}
因此,当我运行此代码时,它会正常工作(不会崩溃)
如果我要打印restoreData,我会完美地恢复一切。
但是,从这里我该怎么做?比如我实际上是如何与这个NSArray对象交互的?有没有办法说“好吧,现在给我这个对象最喜欢的饮料孩子”?我很难在网上找到信息(大部分信息似乎都是关于NSArray的,我理解并成功地做到了这一点)
有没有一种方法可以将其反序列化到一个对象?我是否以某种方式将其强制转换?我是否将其转换为一个NSArray并遍历响应?我该如何处理这件事?如果这是一个模糊的问题,很抱歉,只是好奇我如何以某种方式遍历它或访问它的一部分
非常感谢!而不是
作为NSObject
你可以做作为NSDictionary
,然后像正常的NSDictionary一样访问内容,而不是作为NSObject
你可以做作为NSDictionary
,然后像正常的NSDictionary一样访问内容对于一个NSObject
,它是一个NSDictionary
,你就投吧。最好花点时间读一下,还有字典。谢谢,我会继续读下去(我还是很新的)!:)它不是NSObject
,它是一个NSDictionary
,投吧。最好花点时间阅读一下,还有字典。谢谢,我会继续读下去(我还是个新手)!:)
var data = NSData(contentsOfURL: NSURL(string: "MYURL"))
let restoreData = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: nil) as NSObject