2017-07-24 157 views
0

如何將JSON對象轉換爲CLLocationDegrees?如何將JSON對象轉換爲CLLOCATIONDEGREES?

if let value = response.result.value { 

     let json = JSON(value) 

     for (key,subJson):(String, JSON) in json { 

      let lat = subJson["latitude"] as! CLLocationDegrees 
      let lng = subJson["longitude"] as! CLLocationDegrees // This will return error 



     } 

    } 

爲JSON數據類型是

{ 
    "latitude": 2323.44555, 
    "longitude": 2313.344555 
} 

它只是將不會從JSON工作

+0

正好返回什麼錯誤? – Larme

+0

@Larme'從JSON投射到不相關的對象CLLocationDegrees(又名Double)總是失敗',那麼應用程序崩潰 – sinusGob

+0

錯字'經度'vs'經度'? – vadian

回答

3

該錯誤消息

角色無關對象CLLocationDegrees(又名雙人間)總是失敗

很清楚,下標JSONSwiftyJSON庫返回JSON。你必須得到doubleValueCLLocationDegreesDouble一個類型別名)

for (key,subJson) in json { // don't annotate types unless the compiler tells you 
     let lat = subJson["latitude"].doubleValue 
     let lng = subJson["longitude"].doubleValue 
     // do something with lat and lng 
} 
+0

非常感謝!它有助於。 – sinusGob

0

這是你可以得到它

let json = [ 
    "latitude": 2323.44555, 
    "longitude": 2313.344555 
] 
var location = CLLocationCoordinate2D() 
if let lat = json["latitude"] as? Double,let lng = json["longitude"] as? Double { 
     location.latitude = lat 
     location.longitude = lng 
}