Kotlin + Gson - Как получить emptyList, когда null для класса данных - PullRequest
0 голосов
/ 02 октября 2018

Допустим, у меня есть следующий класс данных:

data class MyDataClass(@SerializedName("myList") val myList: List<String>)

И я пытаюсь проанализировать этот JSON:

{ "myList": null } or {} 

Я хочу получить пустой список, но я получаюнуль myList.Кто-нибудь знает, как сериализовать это без реализации registerTypeAdapter для каждого типа, содержащего список?

Если я установлю emptyList() в качестве значения по умолчанию для конструктора.Второй JSON работает так, как я хочу.

1 Ответ

0 голосов
/ 19 июня 2019

Переключите @SerializedName("myList") val myList: List<String> на:

@SerializedName("myList") val myList: List<String>?, чтобы быть в безопасности от null.

Теперь у Kotlin есть параметры по умолчанию.Но я не знаю, подходит ли оно вашему случаю:

data class MyDataClass(@SerializedName("myList") val myList: List<String> = emptyList())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...