Я пытаюсь deserialise этого класса в Модернизированном:Как десериализовать ThreeTen LocalDateTime в дооснащении?
data class Measurement(val id: Long, val value: Float, val dateTime: LocalDateTime, val trashCanId: Long) : Parcelable {
companion object {
@JvmField val CREATOR: Parcelable.Creator<Measurement> = object : Parcelable.Creator<Measurement> {
override fun createFromParcel(source: Parcel): Measurement = Measurement(source)
override fun newArray(size: Int): Array<Measurement?> = arrayOfNulls(size)
}
}
constructor(source: Parcel) : this(source.readLong(), source.readFloat(), source.readSerializable() as LocalDateTime, source.readLong())
override fun describeContents() = 0
override fun writeToParcel(dest: Parcel?, flags: Int) {
dest?.writeLong(id)
dest?.writeFloat(value)
dest?.writeSerializable(dateTime)
dest?.writeLong(trashCanId)
}
}
Как вы можете видеть, я использую LocalDateTime, это от ThreeTen. Ну, я получаю это от моего сервера
{
"id": 1,
"value": 50.6,
"dateTime": {
"hour": 2,
"minute": 6,
"second": 9,
"nano": 0,
"dayOfYear": 308,
"dayOfWeek": "THURSDAY",
"month": "NOVEMBER",
"dayOfMonth": 3,
"year": 2016,
"monthValue": 11,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
}
}
Ну, а мой DATETIME всегда Null поэтому я считаю, что дооснащения не знает, как разбора данных, или я что-то отсутствует?
Есть ли какое-нибудь хорошее обходное решение?
Любая помощь приветствуется!
Спасибо Manoj, я попробую вас код за несколько часов –