JSONデータを取得するために、以下のコードを使用しています。 「ロード後のエラー」を返します。私は別のアプリケーションでこのJSONデータを使用しています。私はSwift 4を使って新しい単純化されたメソッドを実装しようとしています。コードはprintステートメントのポイントまで "ダウンロード"します。Swift 4とXcode 9でJSONデータを取得
class MortgageRatesVC: UIViewController {
final let url = URL (string:"http://mortgous.com/JSON/currentRatesJSON.php")
override func viewDidLoad() {
super.viewDidLoad()
downloadJason()
}
func downloadJason() {
guard let downloadURL = url else { return }
URLSession.shared.dataTask(with: downloadURL) { data, urlResponse, error in
guard let data = data, error == nil, urlResponse != nil else {
print("Oops Call for Help")
return
}
print("downloaded")
do
{
let decoder = JSONDecoder()
let rates = try decoder.decode([LenederRates].self, from: data)
print(rates)
} catch {
print("Error after loading")
}
}.resume()
}
}
クラス
class LenederRates: Codable {
let key : String
let financial_institution : String
let variable_rate : String
let six_months : String
let one_year : String
let two_year : String
let three_year : String
let four_year : String
let five_year : String
// let date : Date
init(key: String, financial_institution: String, variable_rate: String, six_months: String, one_year: String, two_year: String, three_year: String, four_year: String, five_year: String) {
self.key = key
self.financial_institution = financial_institution
self.variable_rate = variable_rate
self.six_months = six_months
self.one_year = one_year
self.two_year = two_year
self.three_year = three_year
self.four_year = four_year
self.five_year = five_year
}
}
あなたが取得している完全なエラーは何を? – tylerSF
それは私に迅速なエラーを与えていない。私のコードプリントのエラーで停止します( "ロード後のエラー")。私は思うJSONを読むことができません! –
実際のエラーを調べるために、 'print'ブランチに' print(error) 'を追加してください。 –