Ich verwende AlamofireObjectMapper, wann immer die Antwort jeden Nullwert enthält, einen Fehler gibt,ObjectMapper Antwort serialisiert fehlgeschlagen
„FEHLER: Fehler Domain = com.alamofireobjectmapper.error-Code = 2“ ObjectMapper fehlgeschlagen Antwort serialisiert . "{fehlgeschlagen NSLocalizedFailureReason = ObjectMapper Antwort serialisiert.} Userinfo ="
Dies ist, wie ich
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)
}
}
}
Und das ist meine Klasse Datamodel
am anfordernden 10import 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"]
}
}
Ich habe auch versucht, leere Parameter hinzufügen, wie diese API erfordert keine Parameter und fügte auch Standard URl-Codierung, aber keine Hilfe.
Ich weiß nicht, wo ich etwas vermisse, dieser Code funktioniert gut, wenn es keine Null in der API-Antwort gibt. Bitte helfen Sie !!
Dank
Das ist meine Frage, warum es die Antwort nicht serialisiert, wenn in der Antwort ein Nullwert vorhanden ist, da es möglicherweise einen Fall gibt, in dem ich eine Nullantwort erhalte und der Code diesen Nullwert durch einen leeren Wert ersetzen sollte . – Aakash
Ich möchte nur wissen, ob es eine Möglichkeit gibt, wie ich NULL-Werte durch entsprechende Standardwerte ersetzen kann. – Aakash
Ich verstehe Sie, aber die JSON ist falsch formatiert und nicht null Wert im Temperaturfeld des dritten Elements des Arrays. – danbarbozza