JSON原始資料
假如原始資料如下
{
"coord": {
"lon": -0.1257,
"lat": 51.5085
},
"weather": [
{
"id": 803,
"main": "Clouds",
"description": "broken clouds",
"icon": "04d"
}
],
"base": "stations",
"main": {
"temp": 284.07,
"feels_like": 283.18,
"temp_min": 282.35,
"temp_max": 285.93,
"pressure": 1008,
"humidity": 75
},
"name": "Taipei"
}
解析方式
繼承Decodable
假設還需要Encodable時
繼承Codable
因為Codable = Decodable & Encodable
本文章只需要Decodable
struct WeatherData: Decodable {
let name: String
let main: Main
let weather: [Weather]
}
struct Main: Decodable {
let temp: Double
let feels_like: Double
let temp_min: Double
let temp_max: Double
let pressure: Int
let humidity: Int
}
struct Weather: Decodable {
let id: Int
let main: String
let description: String
let icon: String
}
解析方式如下
func parseJSON(data: Data) {
let decoder = JSONDecoder()
do {
let decoderData = try decoder.decode(WeatherData.self, from: data)
print(decoderData.name)
} catch {
print(error)
}
}
訂閱Codeilin的旅程,若有最新消息會通知。
廣告
發表迴響