Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin GSON序列化在混淆期间受影响的特定字段的null_Kotlin_Gson_Obfuscation - Fatal编程技术网

Kotlin GSON序列化在混淆期间受影响的特定字段的null

Kotlin GSON序列化在混淆期间受影响的特定字段的null,kotlin,gson,obfuscation,Kotlin,Gson,Obfuscation,我想序列化GSON中特定字段的空值。我查看了提供的解决方案以及设置时失败的其他几个解决方案: minifyEnabled true shrinkResources true 我一直在尝试各种(失败的尝试)修改链接中给出的答案,但我没有任何运气 鉴于我的对象如下所示: data class EmojiType( @SerializeNull var value: String? ) { "value":null } 当我创建post请求并传递n

我想序列化GSON中特定字段的空值。我查看了提供的解决方案以及设置时失败的其他几个解决方案:

 minifyEnabled true
 shrinkResources true
我一直在尝试各种(失败的尝试)修改链接中给出的答案,但我没有任何运气

鉴于我的对象如下所示:

data class EmojiType(
    @SerializeNull
    var value: String?
) 
{
   "value":null
}
当我创建post请求并传递null时,我希望我的对象如下所示:

data class EmojiType(
    @SerializeNull
    var value: String?
) 
{
   "value":null
}
但是,如前所述,当
minifyEnabled
shrinkResources
设置为
true
时,我的对象最终看起来是这样的:

{
   "a":null
}

如何避免这种情况并保留
value
的字段名?

我在Gson中遇到了类似的问题,在Gson中指定SerializedName使其工作:

data class EmojiType(
    @SerializedName("value")
    var value: String?
) 

我在Gson中也遇到了类似的问题,指定SerializedName使其正常工作:

data class EmojiType(
    @SerializedName("value")
    var value: String?
) 

“a”
来自哪里?我怀疑它来自GSON,我相信这是由于混淆过程造成的。当将
minifyEnabled
shrinkResources
设置为false时,我的“值”字段保持不变,只有将这些值设置为true时,我才能得到“a”。这是基于在我的问题中提供的链接上实现投票率最高的答案。啊。好啊到目前为止,我还没有注意到你问题中令人困惑的部分。
“a”
来自哪里?我怀疑它来自GSON,我相信这是由于混淆过程造成的。当将
minifyEnabled
shrinkResources
设置为false时,我的“值”字段保持不变,只有将这些值设置为true时,我才能得到“a”。这是基于在我的问题中提供的链接上实现投票率最高的答案。啊。好啊到现在为止,我还没有注意到你问题中令人困惑的部分。