I have the following data structure that I want to deserialize:
@Serializable
data class SearchResponse(val results: List<SearchResultContainer>) {
@Serializable
data class SearchResultContainer(
val type: ResultType,
val result: SearchResult
)
@Serializable
enum class ResultType {
SERIES, SERIES_CRUMB, EPISODE, CHANNEL
}
@Serializable
sealed interface SearchResult
@Serializable
data class SeriesSearchResult(
val id: String,
val name: String,
val description: String,
val image: String
) : SearchResult
// ...
I want to deserialize concrete SearchResult
based on enum - ResultType
.
Do I need to register custom serializer for this?