【发布时间】:2021-03-07 00:41:06
【问题描述】:
我想为 GSON 中的特定字段序列化空值。我查看了here 提供的解决方案以及其他几个在设置时失败的解决方案:
minifyEnabled true
shrinkResources true
我一直在尝试各种(失败的尝试)来修改链接中给出的答案,但我没有任何运气。
鉴于我的对象如下所示:
data class EmojiType(
@SerializeNull
var value: String?
)
当我创建一个发布请求并传递 null 时,我希望我的对象如下所示:
{
"value":null
}
但是,如上所述,当 minifyEnabled 和 shrinkResources 设置为 true 时,我的对象最终看起来像这样:
{
"a":null
}
如何避免这种情况并保留value 的字段名称?
【问题讨论】:
-
"a"来自哪里?我怀疑它来自 GSON。 -
@CryptoFool 我相信这是由于混淆过程而发生的。将
minifyEnabled和shrinkResources设置为false 时,我的“值”字段保持不变,只有将这些值设置为true 时,我才会得到“a”。这是基于对我在问题中提供的链接实施最高投票的答案。 -
啊。行。直到现在我都错过了你问题的混淆部分。
标签: kotlin gson obfuscation