我正在使用SwiftyJSON和Alamofire。我从我的API中收到了一个大型JSON:
https://jsonblob.com/fb7a0580-76ef-11e9-a860-77ef092d8799
在此JSON中,我有兴趣解析以下级别以在我的应用中使用:
[旅程] [旅程] [腿]
(我可能也会对其他级别感兴趣,但是我可以使用在这里学到的知识并应用于这些级别)
我可以很好地解析第一阶段的[旅程],但是当我进入更深层次时,我会感到挣扎
我在单独的DataModel.swift文件中创建了一个“ JourneyClass”:
class JourneyClass {
var duration: String = "" // in [journeys] level
var startDateTime: String = "" // in [journeys] level
var legDuration: String = "" // in [journeys][legs] level
init() {}
init(json:JSON){
duration = json["duration"].stringValue
startDateTime = json["startDateTime"].stringValue
legDuration = json["legs"]["duration"].stringValue
}
在ViewController.swift中,我具有以下功能:
func getJourneyData(url: String) {
Alamofire.request(url, method: .get).responseJSON {
response in
if response.result.isSuccess {
print("Success!!")
let data : JSON = JSON(response.result.value!) // i.e, the json response goes into variable "data"
let journeysJSON = data["journeys"].arrayValue // "journeys" refers to the "journeys level" within the response JSON
for item in journeysJSON {
let jl = JourneyClass(json: item)
self.theJourneyData.append(jl)
for innerItem in item["legs"].arrayValue {
let kl = JourneyClass(json: innerItem)
self.theJourneyData.append(kl)
} //likely where I am messing up completely
}
需要一些关于如何解析到[旅程] [腿]级别的帮助
谢谢