Использование @SerializedName с дефисом не работаетAndroid

Форум для тех, кто программирует под Android
Anonymous
Использование @SerializedName с дефисом не работает

Сообщение Anonymous »

Я пытаюсь десериализовать этот ответ JSON в объект, и на одном из моих ключей стоит дефис. К сожалению, Kotlin не поддерживает дефисы в именах переменных, поэтому я использовал @SerializedName(), но он все еще работает.
Есть подсказки, почему?
JSON Response< /p>

Код: Выделить всё

[
{
"dateCreated": "07-22-2021",
"comments": "Comment",
"vehicle_type": "Sedan",
"name": "Leagacy Nissan Template",
"template-type": "", //this is giving me the problem
"template_uses_type": "Both"
...
}
]
Мой объект:

Код: Выделить всё

@Serializable
data class SpinDataResponse(
val dateCreated:String,
val comments: String,
val vehicle_type:String,
val name:String,
@SerializedName("template-type") val template_type:String,
val template_uses_type:String,
...
)
Ошибка:

I/System.out: Ошибка: неожиданный токен JSON по смещению 120: обнаружен
неизвестный ключ «тип шаблона».
Используйте «ignoreUnknownKeys = true» в конструкторе «Json {}», чтобы игнорировать неизвестные ключи.
Ввод JSON: ...."name": "Nissan PathFinder", "template-type": "", "template_.....

Я не хочу игнорировать неизвестный ключ, потому что я на самом деле это нужно.

Подробнее здесь: https://stackoverflow.com/questions/702 ... ot-working

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