Получить параметр SerialName из дочернего класса в сериализации Kotlin KotlinxAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Получить параметр SerialName из дочернего класса в сериализации Kotlin Kotlinx

Сообщение Anonymous »

У меня есть родительский класс RequestFieldResponseBody и два класса, которые наследуются от него (CreateRequestFieldBody и EditRequestFieldBody). Я хотел бы сделать так, чтобы в зависимости от дочернего класса мой идентификатор конвертировался в SerialName("request_field") и @SerialName("issue_field") соответственно
@Serializable
internal open class RequestFieldResponseBody(
open val id: Int,
@Serializable(with = ValueSerializer::class)
val value: Value
) {
@Serializable
sealed class Value {

// ...
}
}

@Serializable
internal data class CreateRequestFieldBody(
@SerialName("request_field")
override val id: Int,
val createValue: Value
) : RequestFieldResponseBody(id, createValue)

@Serializable
internal data class EditRequestFieldBody(
@SerialName("issue_field")
override val id: Int,
val editValue: Value
) : RequestFieldResponseBody(id, editValue)

Теперь, когда я делаю запрос, я получаю вот что:
{
"id": 281,
"value": [
5016
]
}

Вот что я хочу получить:
{
"request_field": 281,
"value": [
5016
]
}

и
{
"issue_field": 281,
"value": [
5016
]
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ialization
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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