我想在 Kotlin 中反序列化一些具有大量可选键的复杂 json。我正在使用 Retrofit2。
我只关心可用键的一小部分,因此,与其尝试严格定义数据类以处理所有可能的 json 输入,我只想忽略未知键并定义我关心的部分。我正在构建一个 Retrofit 工厂来创建我的反序列化器,如下所示:
private val retrofit = Retrofit.Builder()
.addConverterFactory(Json.asConverterFactory("application/json".toMediaType()))
.baseUrl(baseUrl)
.build()
我如何配置该转换器,以便 Json 使用ignoreUnknownKeys=true
行为进行解析(或者反之亦然,如果这是默认设置)?
您是否尝试过提供定制
Json
实例?解释:如果不看一下源代码可能会有点令人困惑,但使用
Json.asConverterFactory(...)
相当于Json.Default.asConverterFactory(...)
。这是因为伴生对象本身是(默认的)
Json
实现,而不是“静态”方法的宿主。Json