我正在调用一个JSON API,它有几个我需要获得的嵌套值.我正在使用SwiftyJSON来使事情变得更清洁.对于顶级值,一切似乎都运行良好,但在任何更深层次的情况下,我在解开可选值时会遇到可怕的"nil".
以下是我与Alamofire进行API调用的方式:
Alamofire.request(APIRequests.Router.Nearby(self.page)).responseJSON(){
(_,_,json,_) in
println(json)
if (json != nil){
var jsonObj = JSON(json!)
if let userArray = jsonObj ["results"].array {
for userDict in userArray {
var username: String! = userDict["username"].string
var firstName: String! = userDict["firstName"].string
var profileImage: String! = userDict["userImages"]["profile"]["filename"].string
var characterName: String! = userDict["characters"]["characterName"].string
var user = User(username: username, profileImage: profileImage, firstName: firstName, characterName: characterName)
self.users.append(user)
}
}
Run Code Online (Sandbox Code Playgroud)
以下是JSON的示例:
{
userInfo: {
something: "abc",
requestType: "GET"
},
results: [
{
username: "Jess",
firstName: "Jessica",
userImages: {
profile: …Run Code Online (Sandbox Code Playgroud)