关于 Gson @Expose
和 @SerializedName("stringValue")
之间有什么区别?
原文由 Ahmed Faisal 发布,翻译遵循 CC BY-SA 4.0 许可协议
关于 Gson @Expose
和 @SerializedName("stringValue")
之间有什么区别?
原文由 Ahmed Faisal 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
即使很晚我也想回答这个问题。要解释它,我们必须知道什么是
serialization
和deserialization
。serialization
is convertingobject
intojson string
anddeserialization
is convertingjson string
intoobject
.假设我们有
User
没有注释的类。而我们
serialize
这个object
如下Json字符串会是这样的
如果我们添加注释
@SerializedName
Json字符串会是这样的
@Expose
用于允许或禁止serialization
和deserialization
。@Expose
是可选的,它有两个配置参数:serialize
和deserialize
。默认情况下,它们设置为 true。为了serialize
和deserialize
和@Expose
我们像这样创建 gson 对象下面
userName
不会被反序列化。用户名的值将为null
。以下
userName
不会被序列化。Json 字符串将是这样的。只有
userAge
将被反序列化。