gson的@Expose注解和@SerializedName注解 serializedname

1.使用@Expose可以区分实体中不想被序列化的属性


@Expose标签的2个属性.

1.1deserialize
(boolean)反序列化 默认 true
1.2serialize(boolean)序列化 默认 true

使用newGsonBuilder().excludeFieldsWithoutExposeAnnotation().create();创建Gson对象,没有@Expose注释的属性将不会被序列化
gson的@Expose注解和@SerializedName注解 serializedname

  1. publicclassUser{
  2. @Expose
  3. privateStringusername;
  4. @Expose(serialize=false)
  5. privateintage;
  6. privateListlist;
  7. publicUser(Stringusername,intage){
  8. super();
  9. this.username=username;
  10. this.age=age;
  11. }
  12. publicStringgetUsername(){
  13. returnusername;
  14. }
  15. publicvoidsetUsername(Stringusername){
  16. this.username=username;
  17. }
  18. publicintgetAge(){
  19. returnage;
  20. }
  21. publicvoidsetAge(intage){
  22. this.age=age;
  23. }
  24. publicListgetList(){
  25. returnlist;
  26. }
  27. publicvoidsetList(Listlist){
  28. this.list=list;
  29. }
  30. publicstaticvoidmain(String[]args){
  31. Useruser=newUser("lemon",27);
  32. Listlist=newArrayList();
  33. list.add("l1");
  34. list.add("l2");
  35. user.setList(list);
  36. Gsong1=newGson();
  37. //使用newGson();
  38. System.out.println(g1.toJson(user));//{"username":"lemon","age":27,"list":["l1","l2"]}
  39. //使用newGsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
  40. Gsong2=newGsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
  41. System.out.println(g2.toJson(user));//{"username":"lemon"}
  42. }
  43. }
2.使用@SerializedName标签定义属性序列化后的名字

@Expose

@SerializedName("name")

privateStringusername;


publicstaticvoidmain(String[]args){

Useruser=newUser("lemon",27);

Listlist=newArrayList();

list.add("l1");

list.add("l2");

user.setList(list);

Gsong1=newGson();

//使用newGson();

//{"name":"lemon","age":27,"list":["l1","l2"]}

System.out.println(g1.toJson(user));

//使用newGsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

Gsong2=newGsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

//{"name":"lemon"}

System.out.println(g2.toJson(user));

}

补充:简单方式:排除部分不序列化的属性(特别是循环引用的)可以使用关键字:transient。

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/217121.html

更多阅读

滴水观音的繁殖方法和养殖技巧方法 滴水观音怎样繁殖

滴水观音的繁殖方法和养殖技巧方法——简介滴水观音名字的由来是因为它在开的花非常像观音,而且在水分充足的情况下会从叶子的尖端向下滴水,虽然有这么美的名字,需要注意的是滴水观音的根茎是有毒的,所以在养殖过程中一定要注意。滴水观

发财树的养殖方法和注意事项 发财树摆放禁忌

发财树的养殖方法和注意事项——简介发财树的养殖方法和注意事项,特点:耐阴,耐旱要诀:防湿,防冻发财树的养殖方法和注意事项——工具/原料盆土水肥料发财树的养殖方法和注意事项——方法/步骤发财树的养殖方法和注意事项 1、一、环境的

教你区分春联的上下联和正确贴法 对联怎么区分上下联

教你区分春联的上下联和正确贴法——简介春节的时候每家每户都要张贴春联,去年的时候,我家就是我张贴的,结果上下联贴反了,闹了个大笑话。马上春节就要来了,可不能再犯同样的错误了。教你区分春联的上下联和正确贴法——工具/原料春联

鲈鱼的生活习性和钓线鱼饵的准备

鲈鱼的生活习性和钓线鱼饵的准备——简介对于鲫鱼,鲢鱼,鲤鱼等常见的淡水鱼类生活习性有些钓鱼年龄的朋友还是比较了解的,咸水鱼类有哪些呢,前几天谈了一下梭鱼的生活习性及简单垂钓方法介绍,鲈鱼的生活习性怎样呢,钓鲤鱼的海竿鱼线和鱼饵

怎样设置yy语音的混响和变声 yy语音怎么变声

怎样设置yy语音的混响和变声——简介怎样设置yy语音的混响和变声,有很多人喜欢在yy唱歌,但是没有混响效果是不行的,变声可以和好友玩也是挺有意思的。怎样设置yy语音的混响和变声——工具/原料yy语音怎样设置yy语音的混响和变声——

声明:《gson的@Expose注解和@SerializedName注解 serializedname》为网友容不进的笑声分享!如侵犯到您的合法权益请联系我们删除