所以我有一个数组中的JSON数据(0是一个月的第一天直到一个月的最后一天)。
我该如何循环遍历整个数组并将一天中的3次分别存储在自己的数组中(我希望以后将这些时间用于通知)
dayForArray变量只是当前日期-1,因此它与JSON数组中的数字匹配。
func parseJSON(_ timesData: Data) -> TimesModel? {
let decoder = JSONDecoder()
do {
let decodedData = try decoder.decode(TimesData.self, from: timesData)
let time1 = decodedData.data[dayForArray].timings.Time1
let time2 = decodedData.data[dayForArray].timings.Time2
let time3 = decodedData.data[dayForArray].timings.Time3
let time = TimeModel(time1: time1, time2: time2, time3: time3)
return times
} catch {
delegate?.didFailWithError(error: error)
return nil
}
}
答案 0 :(得分:1)
您需要做的是使用map
从您的json数组创建TimeModel
对象的数组
let times = decodedData.data.map {
TimeModel(time1: $0.timings.Time1,
time2: $0.timings.Time2,
time3: $0.timings.Time3)
}