我需要在我的Kotlin示例应用程序中显示此data。
我已经使用莫希创建了所有合适的模型,可以在here中找到。
但是值显示错误。即使非空值也显示为空。
示例json,0索引中的值:
"main": {
"temp": 25.78,
"feels_like": 25.95,
"temp_min": 23.35,
"temp_max": 25.78,
"pressure": 1014,
"sea_level": 1014,
"grnd_level": 1012,
"humidity": 59,
"temp_kf": 2.43
},
模特负责人:
@Parcelize
@JsonClass(generateAdapter = true)
data class Main(
@Json(name = "temp")
val temp: Double?,
@Json(name = "feels_like")
val feelsLike: Double?,
@Json(name = "temp_min")
val tempMin: Double?,
@Json(name = "temp_max")
val tempMax: Double?,
@Json(name = "pressure")
val pressure: Double?,
@Json(name = "sea_level")
val seaLevel: Double?,
@Json(name = "grnd_level")
val grndLevel: Double?,
@Json(name = "humidity")
val humidity: Double?,
@Json(name = "temp_kf")
val tempKf: Double?,
) : Parcelable {
fun getTempString(): String {
return temp.toString().substringBefore(".") + "°"
}
fun getHumidityString(): String {
return humidity.toString() + "°"
}
fun getTempMinString(): String {
return tempMin.toString().substringBefore(".") + "°"
}
fun getTempMaxString(): String {
return tempMax.toString().substringBefore(".") + "°"
}
}
但当我打印主索引时在0处显示:
Main(temp=298.26, feelsLike=null, tempMin=null, tempMax=null, pressure=1014.0, seaLevel=null, grndLevel=null, humidity=62.0, tempKf=null)
因此,视图也不起作用。
完整的源代码可以在here中找到。
1条答案
按热度按时间mrwjdhj31#
请参阅讨论here,可能是以下注解
@field:Json(name = "temp_min")
代替@Json(name = "temp_min")
,其他成员也一样,可以修复它。或者,您可以尝试使用不同版本的莫希。同样,请参阅相关讨论Moshi @Json annotation not working for com.github.kittinunf.fuel.moshi.moshiDeserializerOf?