Я использую AlamofireObjectMapper, когда ответ содержит какой-либо нулевое значение, он дает ошибку,ObjectMapper не удалось сериализовать ответ
"FAILURE: Error Domain = com.alamofireobjectmapper.error Code = 2" ObjectMapper не удалось сериализовать ответ . "UserInfo = {NSLocalizedFailureReason = ObjectMapper не удалось сериализовать ответ.}"
Это, как я прошу
let URL = "https://demo6336282.mockable.io/myapi"
Alamofire.request(URL).validate().responseObject { (response: DataResponse<WeatherResponse>) in
let weatherResponse = response.result.value
print(weatherResponse?.location)
if let threeDayForecast = weatherResponse?.threeDayForecast {
for forecast in threeDayForecast {
print(forecast.day)
print(forecast.temperature)
}
}
}
И это мой DataModel Класс
import Foundation
import ObjectMapper
import AlamofireObjectMapper
class WeatherResponse: Mappable {
var location: String? = ""
var threeDayForecast: [Forecast]? = []
required init?(map: Map){
}
func mapping(map: Map) {
location <- map["location"]
threeDayForecast <- map["three_day_forecast"]
}
}
class Forecast: Mappable {
var day: String? = ""
var temperature: Int? = 0
var conditions: String? = ""
required init?(map: Map){
}
func mapping(map: Map) {
day <- map["day"]
temperature <- map["temperature"]
conditions <- map["conditions"]
}
}
Я также попытался добавить пустые параметры, так как этот api не требует параметров, а также добавил кодировку URl по умолчанию, но никакой помощи.
Я не знаю, где чего-то не хватает, этот код отлично работает, когда в ответе api нет никакого значения. Пожалуйста помоги!!
Благодаря
Это мой вопрос, почему он не сериализует ответ, когда в ответе есть нулевое значение, поскольку может возникнуть случай, когда я могу получить нулевой ответ, и в то время мой код должен заменить этот нуль пустым значением , – Aakash
Я просто хочу знать, есть ли способ заставить его заменить нулевые значения соответствующими значениями по умолчанию. – Aakash
Я вас понимаю, но json искажен и не равен нулю в поле температуры третьего элемента массива. – danbarbozza