Данные JSON не удалось прочитать, поскольку они имеют неправильный формат.IOS

Программируем под IOS
Ответить
Anonymous
 Данные JSON не удалось прочитать, поскольку они имеют неправильный формат.

Сообщение Anonymous »

Я хочу получить информацию о погоде в формате JSON, но возникла ошибка:

Не удалось прочитать данные, поскольку они не в правильном формате.


override func viewDidLoad() {
super.viewDidLoad()
let url = "https://api.openweathermap.org/data/2.5 ... c0204c422c"
getData(from: url)
}

private func getData (from url : String){
let task = URLSession.shared.dataTask(with: URL(string: url)!, completionHandler: { data , response , error in
guard let data = data , error == nil else {
print ("birşeyler ters gitti")
return
}
var main : Response?
do {
main = try JSONDecoder().decode(Response.self , from: data)
} catch{
print ("ERROR IS HERE!!! \(error.localizedDescription)")
}
guard let json = main else {
return
}
print (json.weather)
})
task.resume()

}}

struct Response : Codable {
let weather : myResult
let status : String

}
struct myResult : Codable {
let main : String
let description : String
let icon : String
}

Ответ API такой:
{"coord": { "lon": 139,"lat": 35},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01n"
}
],
"base": "stations",
"main": {
"temp": 281.52,
"feels_like": 278.99,
"temp_min": 280.15,
"temp_max": 283.71,
"pressure": 1016,
"humidity": 93
},
"wind": {
"speed": 0.47,
"deg": 107.538
},
"clouds": {
"all": 2
},
"dt": 1560350192,
"sys": {
"type": 3,
"id": 2019346,
"message": 0.0065,
"country": "JP",
"sunrise": 1560281377,
"sunset": 1560333478
},
"timezone": 32400,
"id": 1851632,
"name": "Shuzenji",
"cod": 200
}


Подробнее здесь: https://stackoverflow.com/questions/626 ... ect-format
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»