2016-06-03 1 views
1

ich habe eine JSON als:JSON Parsen Problem in swift 3 von Array Zum Wörterbuch

{ 
    "jsonData": { 
    "userDetails": [ 
     { 
     "user_id": "a", 
     "first_name": "First1", 
     "last_name": "Last1", 
     "donation_amount": 841, 
     "donation_time": 1452678347523 
     }, 
     { 
     "user_id": "b", 
     "first_name": "First2", 
     "last_name": "Last2", 
     "donation_amount": 841, 
     "donation_time": 1452678347523 
     }, 
     { 
     "user_id": "c", 
     "first_name": "First3", 
     "last_name": "Last3", 
     "donation_amount": 841, 
     "donation_time": 1452678347523 
     } 
    ] 
    }, 
    "total_count": 3 
} 

und ich in schnellen bin Parsen swiftlyJSON mit: mein Code unter

private func processProjectDonorsResponse(response: JSON) { 
    //add to dictionary 
     let jsonObject = response.dictionaryObject!["jsonData"]! as AnyObject 
     let details = jsonObject["userDetails"] as! [AnyObject] 
     var tempModel = [UserModel]() 
     for detail in details { 
      let user = UserModel(response: detail as! [String: AnyObject]) 
      tempModel.append(user) 
     } 
} 

es funktioniert gut in swift 2, aber jetzt habe ich auf swift 3 aktualisiert ich bekomme eine Warnung in Zeile //let details = jsonObject["userDetails"] as! [AnyObject] als: Cast from String? zu nicht verwandtem Typ '[AnyObject]' scheitern immer., und wird abgestürzt. Wie behebt man dieses Problem?

Antwort

2

Das Problem in Ihrem Code ist in der folgenden Zeile:

let jsonObject = response.dictionaryObject!["jsonData"]! as AnyObject 

einfach diesen Code ändern mit dem folgenden:

let jsonObject = response.dictionaryObject!["jsonData"]! as! [String: AnyObject] 

Hoffnung, dies für Sie arbeitet.