遍历JSON数据并将其存储在数组中

时间:2020-03-06 19:16:11

标签: arrays json swift xcode

所以我有一个数组中的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
    }
}

1 个答案:

答案 0 :(得分:1)

您需要做的是使用map从您的json数组创建TimeModel对象的数组

let times = decodedData.data.map { 
    TimeModel(time1: $0.timings.Time1, 
              time2: $0.timings.Time2, 
              time3: $0.timings.Time3) 
}