【发布时间】:2019-02-18 09:55:30
【问题描述】:
我正在尝试形成这种类型的 JSON:
"answer_id":123,
"question_id":4567,
"value":"null"
但是,我无法将 NULL 值放在 value 键上,似乎 Gson 只是忽略了该字段,所以在序列化之后我得到了
"answer_id":123,
"question_id":4567
所以我的服务器抛出了错误的请求。我在 Gson 构建器中使用 serializeNulls() 应该允许可以为空的值,但它对我不起作用。有谁知道是什么问题?
@Parcelize
data class AnswerHelperObject(@SerializedName("question_id") val questionId: Int,
@SerializedName("value") val value: String? = null,
@SerializedName("answer_id") val answerId: Int?)
: Parcelable {}
【问题讨论】:
-
它不应该是 -> "value":null ?
-
@jczerski 是的,它应该 :) 我的意思是,服务器需要这种响应。
-
你确定是GSON的问题而不是http客户端的问题?
-
好吧,如果你输入 null,我不会得到 JSON 中的字段值。似乎 Gson 的 serializeNulls() 选项不起作用。
-
请添加您如何序列化的代码。你有代表那个 JSON 的 DTO 吗?
标签: android json kotlin null gson