前面几天已经练习了如何呈现 JSON 资料在 App 上,在最後完赛前会做一个天气 App 出来,而 JSON 的资料由中央气象局提供。
struct Weather: Codable {
var records: records
}
struct records: Codable {
var location: [location]
}
struct location: Codable {
var locationName: String
var weatherElement: [weatherElement]
}
struct weatherElement: Codable {
var elementName: String
var time: [time]
}
struct time: Codable {
var startTime: String
var endTime: String
var parameter: parameter
}
struct parameter: Codable {
var parameterName: String
var parameterValue: String?
var parameterUnit: String?
// 注意 parameterValue 和 parameterUnit 不一定存在,所以宣告成 String?
}
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var request = URLRequest(url: URL(string: "https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-C0032-001?Authorization=CWB-6F803E34-66E5-4135-AC7D-25811AD53D5C&format=JSON&locationName=%E5%AE%9C%E8%98%AD%E7%B8%A3")!,timeoutInterval: Double.infinity)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request){(data, respond, error) in
let decoder = JSONDecoder()
if let data = data, let weather = try? decoder.decode(Weather.self, from: data){
print(weather)
}
else {
print("error")
}
}
task.resume()
}
}
执行看看,确认写好的 struct 没有问题。
<<: Week33 - 利用Golang Server与Nats实作简单的Pub/Sub demo [Server的终局之战系列]
>>: 资视就是力量 - Highcharts / Vue 资料绑定
终於完结第十一周作业 最後集中在两天的时间把部落格作业写出来,前面花时间跟留言板搏斗的经验果然有派上...
这周要来将 [预约页面] 最後的 房间详细资讯 完成!! [标题] (已完成) [预约功能] (已完...
Angular 是由 Google 主导,开源的 JavaScript 应用程序框架,目前稳定版本已...
点击Window→Asset Store开启Unity资产商店 在Asset Store的搜寻列搜寻...
JAVA - JAVA Log4j 专门用於 Java 语言的日志记录工具 参考资料 参考资料1:L...