我想从Gson转到kotlinx.serialization,这和kotlinx.serialization的区别是什么?
private fun parseError(response: Response<*>?) {
val error = gsonConverter(response?.errorBody()?.charStream())
// Entire code
// ....
}
private fun gsonConverter(charStream: Reader?): ErrorResponse {
return Gson().fromJson(
charStream, ErrorResponse::class.java
)
}发布于 2022-01-28 09:59:09
不完全相同,但您可以直接使用响应中的字节流。您仍然需要处理空响应/体的情况,因为decodeFromInputStream不采用可空类型:
private fun parseError(response: Response<*>?) {
val error = gsonConverter(response?.errorBody()?.byteStream())
// Entire code
// ....
}
private fun gsonConverter(stream: InputStream?): ErrorResponse {
return stream?.let {
Json.decodeFromStream<ErrorResponse>(it)
} ?: // A default ErrorResponse for example
}https://stackoverflow.com/questions/70891260
复制相似问题