dyl*_*won 5 android json moshi
{
"id": "1",
"name": "name",
"email": null
}
Run Code Online (Sandbox Code Playgroud)
data class User(
var id: Int = 0,
var name: String = "",
var email: String = ""
)
Run Code Online (Sandbox Code Playgroud)
我想在解析 json 时为空值应用默认值。(将上述电子邮件字段应用为非空的“”(空白))
详情: https : //code.luasoftware.com/tutorials/android/android-moshi-adapter-convert-null-to-empty-string/
TL; 博士;
创建 NullToEmptyStringAdapter。
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class NullToEmptyString
class NullToEmptyStringAdapter {
@ToJson
fun toJson(@NullToEmptyString value: String?): String? {
return value
}
@FromJson
@NullToEmptyString
fun fromJson(@javax.annotation.Nullable data: String?): String? {
return data ?: ""
}
}
Run Code Online (Sandbox Code Playgroud)
将 NullToEmptyStringAdapter 应用于您的数据类。
data class User(
var id: Int = 0,
var name: String = "",
@NullToEmptyString
var email: String = ""
)
Run Code Online (Sandbox Code Playgroud)
设置 Moshi
val moshi = Moshi.Builder()
.add(NullToEmptyStringAdapter())
.add(KotlinJsonAdapterFactory())
.build()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4769 次 |
| 最近记录: |