decoder error
a5978445 opened this issue · comments
source son file:
{
"status": "0",
"msg": "ok",
"result": {
"city": "北京",
"cityid": "1",
"citycode": "101010100",
"date": "2018-06-13",
"week": "星期三",
"weather": "雨",
"temp": "17",
"temphigh": "28",
"templow": "18",
"img": "301",
"humidity": "84",
"pressure": "1000",
"windspeed": "10.4",
"winddirect": "东风",
"windpower": "2级",
"updatetime": "2018-06-13 13:40:00",
"index": [{
"iname": "空调指数",
"ivalue": "较少开启",
"detail": "您将感到很舒适,一般不需要开启空调。"
}, {
"iname": "运动指数",
"ivalue": "较不宜",
"detail": "有降水,推荐您在室内进行健身休闲运动;若坚持户外运动,须注意保暖并携带雨具。"
}, {
"iname": "紫外线指数",
"ivalue": "弱",
"detail": "紫外线强度较弱,建议出门前涂擦SPF在12-15之间、PA+的防晒护肤品。"
}, {
"iname": "感冒指数",
"ivalue": "少发",
"detail": "各项气象条件适宜,无明显降温过程,发生感冒机率较低。"
}, {
"iname": "洗车指数",
"ivalue": "不宜",
"detail": "不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。"
}, {
"iname": "空气污染扩散指数",
"ivalue": "良",
"detail": "气象条件有利于空气污染物稀释、扩散和清除,可在室外正常活动。"
}, {
"iname": "穿衣指数",
"ivalue": "热",
"detail": "天气热,建议着短裙、短裤、短薄外套、T恤等夏季服装。"
}],
"aqi": {
"so2": "3",
"so224": "4",
"no2": "14",
"no224": "35",
"co": "0.430",
"co24": "1.030",
"o3": "105",
"o38": "88",
"o324": "100",
"pm10": "18",
"pm1024": "71",
"pm2_5": "10",
"pm2_524": "70",
"iso2": "2",
"ino2": "7",
"ico": "5",
"io3": "34",
"io38": "44",
"ipm10": "21",
"ipm2_5": "14",
"aqi": "44",
"primarypollutant": "O3",
"quality": "优",
"timepoint": "2018-06-13 13:00:00",
"aqiinfo": {
"level": "一级",
"color": "#00e400",
"affect": "空气质量令人满意,基本无空气污染",
"measure": "各类人群可正常活动"
}
},
"daily": [{
"date": "2018-06-13",
"week": "星期三",
"sunrise": "04:45",
"sunset": "19:43",
"night": {
"weather": "多云",
"templow": "18",
"img": "1",
"winddirect": "西北风",
"windpower": "微风"
},
"day": {
"weather": "雷阵雨",
"temphigh": "28",
"img": "4",
"winddirect": "东北风",
"windpower": "微风"
}
}, {
"date": "2018-06-14",
"week": "星期四",
"sunrise": "04:45",
"sunset": "19:44",
"night": {
"weather": "多云",
"templow": "20",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
},
"day": {
"weather": "多云",
"temphigh": "31",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
}
}, {
"date": "2018-06-15",
"week": "星期五",
"sunrise": "04:45",
"sunset": "19:44",
"night": {
"weather": "多云",
"templow": "22",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
},
"day": {
"weather": "多云",
"temphigh": "33",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
}
}, {
"date": "2018-06-16",
"week": "星期六",
"sunrise": "04:45",
"sunset": "19:44",
"night": {
"weather": "雷阵雨",
"templow": "21",
"img": "4",
"winddirect": "西南风",
"windpower": "微风"
},
"day": {
"weather": "多云",
"temphigh": "34",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
}
}, {
"date": "2018-06-17",
"week": "星期日",
"sunrise": "04:45",
"sunset": "19:45",
"night": {
"weather": "多云",
"templow": "20",
"img": "1",
"winddirect": "东南风",
"windpower": "微风"
},
"day": {
"weather": "雷阵雨",
"temphigh": "30",
"img": "4",
"winddirect": "东北风",
"windpower": "微风"
}
}, {
"date": "2018-06-18",
"week": "星期一",
"sunrise": "04:45",
"sunset": "19:45",
"night": {
"weather": "多云",
"templow": "20",
"img": "1",
"winddirect": "南风",
"windpower": "微风"
},
"day": {
"weather": "晴",
"temphigh": "31",
"img": "0",
"winddirect": "东南风",
"windpower": "微风"
}
}, {
"date": "2018-06-19",
"week": "星期二",
"sunrise": "04:45",
"sunset": "19:45",
"night": {
"weather": "多云",
"templow": "21",
"img": "1",
"winddirect": "东南风",
"windpower": "微风"
},
"day": {
"weather": "多云",
"temphigh": "30",
"img": "1",
"winddirect": "东南风",
"windpower": "微风"
}
}],
"hourly": [{
"time": "13:00",
"weather": "多云",
"temp": "26",
"img": "1"
}, {
"time": "14:00",
"weather": "多云",
"temp": "27",
"img": "1"
}, {
"time": "15:00",
"weather": "多云",
"temp": "28",
"img": "1"
}, {
"time": "16:00",
"weather": "多云",
"temp": "27",
"img": "1"
}, {
"time": "17:00",
"weather": "晴",
"temp": "27",
"img": "0"
}, {
"time": "18:00",
"weather": "晴",
"temp": "26",
"img": "0"
}, {
"time": "19:00",
"weather": "晴",
"temp": "25",
"img": "0"
}, {
"time": "20:00",
"weather": "晴",
"temp": "24",
"img": "0"
}, {
"time": "21:00",
"weather": "晴",
"temp": "22",
"img": "0"
}, {
"time": "22:00",
"weather": "晴",
"temp": "22",
"img": "0"
}, {
"time": "23:00",
"weather": "晴",
"temp": "22",
"img": "0"
}, {
"time": "0:00",
"weather": "晴",
"temp": "21",
"img": "0"
}, {
"time": "1:00",
"weather": "晴",
"temp": "21",
"img": "0"
}, {
"time": "2:00",
"weather": "晴",
"temp": "20",
"img": "0"
}, {
"time": "3:00",
"weather": "晴",
"temp": "20",
"img": "0"
}, {
"time": "4:00",
"weather": "晴",
"temp": "18",
"img": "0"
}, {
"time": "5:00",
"weather": "晴",
"temp": "19",
"img": "0"
}, {
"time": "6:00",
"weather": "晴",
"temp": "20",
"img": "0"
}, {
"time": "7:00",
"weather": "晴",
"temp": "22",
"img": "0"
}, {
"time": "8:00",
"weather": "晴",
"temp": "23",
"img": "0"
}, {
"time": "9:00",
"weather": "晴",
"temp": "25",
"img": "0"
}, {
"time": "10:00",
"weather": "晴",
"temp": "27",
"img": "0"
}, {
"time": "11:00",
"weather": "晴",
"temp": "28",
"img": "0"
}, {
"time": "12:00",
"weather": "晴",
"temp": "29",
"img": "0"
}]
}
}
when i use jsonExport export swift-codable
file. it will generate the code
//
// RootClass.swift
//
// Create by 腾芳 李 on 13/6/2018
// Copyright © 2018. All rights reserved.
// Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
import Foundation
struct RootClass : Codable {
let msg : String?
let result : Result?
let status : String?
enum CodingKeys: String, CodingKey {
case msg = "msg"
case result
case status = "status"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
msg = try values.decodeIfPresent(String.self, forKey: .msg)
result = try Result(from: decoder)
status = try values.decodeIfPresent(String.self, forKey: .status)
}
}
above the code result = try Result(from: decoder)
has logic error, should be modify result = try values.decodeIfPresent(Result.self, forKey: .result)