以下工作:
package com.squareup.moshi.problem
import com.squareup.moshi.JsonClass
import com.squareup.moshi.Moshi
@JsonClass(generateAdapter = true)
data class Foo(
val bar: String?
)
fun main() {
val adapter=Moshi.Builder().build().adapter<Foo>(Foo::class.java)
adapter.fromJson("{}")
}但是当使用一个列表时,它会失败:
package com.squareup.moshi.problem
import com.squareup.moshi.JsonClass
import com.squareup.moshi.Moshi
@JsonClass(generateAdapter = true)
data class Foo(
val bar: List<String>?
)
fun main() {
val adapter=Moshi.Builder().build().adapter<Foo>(Foo::class.java)
adapter.fromJson("{}")
}通过以下方式:
Exception in thread "main" com.squareup.moshi.JsonDataException: Required value 'bar' missing at $
at com.squareup.moshi.internal.Util.missingProperty(Util.java:605)
at com.squareup.moshi.problem.FooJsonAdapter.fromJson(FooJsonAdapter.kt:44)
at com.squareup.moshi.problem.FooJsonAdapter.fromJson(FooJsonAdapter.kt:16)
at com.squareup.moshi.internal.NullSafeJsonAdapter.fromJson(NullSafeJsonAdapter.java:40)
at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:43)
at com.squareup.moshi.problem.MoshiProblemKt.main(MoshiProblem.kt:13)
at com.squareup.moshi.problem.MoshiProblemKt.main(MoshiProblem.kt)我怎样才能把它写成清单呢?下面是一个显示问题的回购程序:https://github.com/ligi/moshi_problem
发布于 2019-11-13 11:10:13
发布于 2019-11-12 16:27:30
如果bar json值为null,则应如下所示
json
{
"bar": null
}所以它应该是
adapter.fromJson("{"bar":null}")https://stackoverflow.com/questions/58820520
复制相似问题