我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019全年资料大全正版 > 反序列化 >

如何实现 Gson 序列化反序列化过程中 过滤指定字段

归档日期:07-14       文本归类:反序列化      文章编辑:爱尚语录

  gson=new Gson()方式创建的时候,@Expose注解是无效的。也就是有没有都一样,切记!

  在Gson使用GsonBuilder创建下,Post请求中,id,code以及a字段会在序列化过程中过滤掉,也就是通过Retrofit向服务器提交Order对象的时候,服务器端只能接受到remark和list对应的数据

  ,除此之外的字段因为在序列化的过程中被忽略而没有提交给服务器。你可能注意到了list字段的@Expose注解

  其deserialize=false, 这是因为我list字段在序列化的过程中是服务器需要的数据,但是在反序列化的过程中不希望他被赋值

  也许有童鞋会问。还有其它方式没有,答案是有的,Gson 序列化/反序列化过程中过滤指定字段的方式大概有四种,此处只是说到了其中的一种而已 ,其它的三种:排除transient字段;排除Modifier为指定类型的字段;使用ExclusionStrategy定制字段排除策略;

  排除transient字段:给字段添加transient字段 然后在 序列化/反序列化过程中该字段都会被过滤 不能单独对某一过程设置;

  方式获取Gson并设置过滤域的修饰词 此处为过滤protected修饰的字段 也是同时作用于序列化/反序列化 不能单独对某一过程设置(待考证)

本文链接:http://buggystordera.com/fanxuliehua/773.html