当前位置: 首页 > 知识库问答 >
问题:

GSON:@expose vs@serializedName

爱博达
2023-03-14

关于Gson,@expose@serializedName(“StringValue”)之间有什么区别?

共有1个答案

叶稳
2023-03-14

即使很晚了,我也想回答这个问题。要解释它,我们必须知道什么是序列化反序列化序列化对象转换为JSON字符串反序列化JSON字符串转换为对象

假设我们有没有注释的user类。

public class User{
    private String userName;
    private Integer userAge;

    public User(String name, Integer age){
        userName = name;
        userAge = age;
    }
}

我们序列化这个对象如下所示

User user = new User("Ahmed", 30);
Gson gson = new Gson();
String jsonString = gson.toJson(user);
{
    "userName":"Ahmed",
    "userAge":30
}
public class User{

    @SerializedName("name")
    private String userName;
    @SerializedName("age")
    private Integer userAge;

    public User(String name, Integer age){
        userName = name;
        userAge = age;
    }
}
{
    "name":"Ahmed",
    "age":30
}
Gson gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
@SerializedName("name")
@Expose(deserialize = false)
private String userName;
@SerializedName("name")
@Expose(serialize = false)
private String userName;
{
    "age":30
}
 类似资料:
  • 问题内容: 我注意到一个奇怪的问题。我可以使用Junit运行我的测试用例,但是当我使用maven运行时,其中一个测试用例失败。有人抱怨找不到Gson class def。 我能够在Maven依赖项中看到Gson jar。 因此,我怀疑classpath是否不包括Gson。因此,我使用-X运行Maven,并注意到了一些线索。 我有一个依赖于Symbology项目的项目,而这又使用了Gson。但是现在

  • Gson是Google Gson库的主要演员类。 它提供了将Java对象转换为匹配JSON结构的功能,反之亦然。 首先使用GsonBuilder构造Gson,然后使用toJson(Object)或fromJson(String,Class)方法来读/写JSON结构。 Class 声明 (Class Declaration) 以下是com.google.gson.Gson类的声明 - public

  • Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 示例代码: Gson gson = new Gson(); int[] ints = {1, 2, 3, 4, 5}; String[] strings = {"abc", "def", "ghi"}; (Serializat

  • 主要内容:类声明,构造函数,类方法,继承的方法Gson是Google Gson库的主要操作类。 它提供了将Java对象转换为匹配的JSON结构的功能,反之亦然。 Gson首先使用构建,然后使用或方法读取/写入JSON构造。 类声明 以下是类的声明 - 构造函数 编号 构造函数 说明 1 用默认配置构造一个对象。 类方法 编号 方法 描述 1 此方法将从指定分析树读取的Json反序列化为指定类型的对象。 2 此方法将从指定分析树读取的Json反

  • gson-plugin 是强化 Android-JSON 解析的插件,解决 Android-JSON 解析数据类型转换异常,不影响对 Gson 库的使用。 gson-plugin 依赖的 sdk:https://github.com/LianjiaTech/gson-plugin-sdk 诞生背景 Android主要开发语言是Java,属于强数据类型语言,不少公司后台开发采用的是PHP,属于弱数据

  • 问题内容: 关于Gson 和之间有什么区别 ? 问题答案: 即使很晚,我也想回答这个问题。为了解释它,我们必须知道什么是和。 正在转换为,并且正在转换为。 假设我们的课程没有注释。 而我们这个如下 Json字符串将是这样的 如果我们添加注释 Json字符串将是这样的 用于允许和禁止和。 是可选的,它具有两个配置参数:和。默认情况下,它们设置为true。为了和同我们建立GSON对象这样 下面不会反序