使用Gson在Android中@SerializedName注释的基本目的是什么?
使用Gson在Android中进行注释的基本目的是什么?@SerializedName
给我一些不同的例子。我无法理解使用它的主要目的。
使用Gson在Android中进行注释的基本目的是什么?@SerializedName
给我一些不同的例子。我无法理解使用它的主要目的。
Java 类示例,
public class Person {
@SerializedName("name")
private String personName;
@SerializedName("bd")
private String birthDate;
}
此类有两个字段,表示人员的姓名和出生日期。这些字段使用@SerializedName注释进行批注。此批注的参数(值)是当 和 对象时要使用的名称。例如,Java 字段 personName 在 JSON 中表示为 name。serialising
deserialising
JSON 示例,
{
"name":"chintan",
"bd":"01-01-1990"
}
这里已经很少有答案了,但我想补充一点,如果你正在使用混淆你的代码,而不是在你的模型类中使用,那么你的GSON将不起作用。因为由于混淆,您的变量名称可能已经从更改为导致GSON解析中断,因为GSON将在json中查找密钥,并且它将失败。ProGuard
@SerializedName("name")
String name
String a
a
通过指定,GSON 不会根据变量名称在 json 中查找,而只会使用指定的 。@SerializedName
@SerializedName
当然,您可以告诉 proguard 不要对模型进行模糊处理,但是如果您想对模型进行模糊处理,则必须指定@SerializedName