美文网首页
Gson的使用-2

Gson的使用-2

作者: 胖胖胖胖胖胖胖胖胖 | 来源:发表于2018-11-28 18:15 被阅读0次

Gson序列化空值

Gson在序列化的null值的时候,会自动忽略掉该字段,如果我们不想将其忽略,可以作如下设置;

GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.serialiNulls();
Gson gson = gsonBuilder.create();

Gson 忽略字段 @Expose(serialized = true,deserialized =fale)必须设置其值

//@Expose将会忽略字段序列化和反序列化过程
public class User {
    @Expose()
    private int age;
    @Expose(serialize = true,deserialize = true)
    private String name;
    @Expose(serialize = true,deserialize = false)
    private String pw;
}


//必须设置excludeFieldsWithOutExposeAnnitation()才能起作用;
GsonBuilder builder = new GsonBuilder();  
builder.excludeFieldsWithoutExposeAnnotation();  
Gson gson = builder.create();  

使用Transient也可以实现忽略序列化,和反序列化

public class User{
 transient String name;
}

使用@Expose()和transient可以改变忽略单个字段的序列化和反序列化过程,我们还可以使用GsonBuilder来实现整体的配置;

setExclusionStrategies(new ExclusionStrategy())

GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setExculsiongStrategies(new new ExclusionStrategy() {
            @Override
            public boolean shouldSkipField(FieldAttributes f) {
                return f.getName().contains("-");
            }

            @Override
            public boolean shouldSkipClass(Class<?> clazz) {
                return clazz == Boolean.class || clazz == int.class;
            }
        })
//其中shouldSkipField用来忽略单一类型的Field,shouldSkipClass 可以设置多个Type的类型;

注意:setExclusionStrategies()将生效序列化和反序列化,
还有addSerializationExclusionStrategy()
addDeserializationExclusionStrategy()可以单独设置序列化和反序列化是的忽略的内容;

excludeFieldsWithModifiers(Modifier.STATIC, Modifier.FINAL)


public class UserModifier {  
    private String name;
    private transient String email;
    private static boolean isDeveloper;
    private final int age;
}


相关文章

  • Gson用户使用文档

    1.概述2.Gson的目标3.Gson的性能和扩展性4.Gson的使用者5.如何使用Gson 通过Maven来使用...

  • Rretrofit2 使用

    Retrofit2 使用 1.导入引用 compile 'com.google.code.gson:gson:2....

  • Andriod中Gson使用

    Gson使用 参考你真的会用Gson吗?Gson使用指南 在Android中使用Gson,先在Compile中加入...

  • Gson使用指南 2017-08-15

    Gson使用指南系列其它文章你真的会用Gson吗?Gson使用指南(一)你真的会用Gson吗?Gson使用指南(二...

  • Gson的使用-2

    Gson序列化空值 Gson在序列化的null值的时候,会自动忽略掉该字段,如果我们不想将其忽略,可以作如下设置;...

  • Gson解析JSON

    1. 开始 构建maven项目 实体类 2. gson解析对象 3. gson反序列化 4、Gson高级使用 1、...

  • gson的使用细节

    关于json,gson是最常用到的一个库。平常使用时我通常使用Gson gson = new Gson();的方式...

  • 数据解析之返回格式为数组

    解决步骤:1:使用Gson gson.toJson 先转为String2:再转为相应集合数据代码:

  • Android 库 Gson

    【Android 库 Gson】 引用: ★Gson 解析教程★★★ Gson的入门使用Gson全解析(上)-Gs...

  • Gson全解析(上)-Gson基础

    gson github地址google/gson 本篇文章是基于Gson官方使用指导(Gson User Guid...

网友评论

      本文标题:Gson的使用-2

      本文链接:https://www.haomeiwen.com/subject/mojzqqtx.html