Gson解析字段带java关键字解决方案

@SerializedName 使用

使用@SerializedName标签定义属性序列化后的名字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Expose
@SerializedName("name")
private String username;

public static void main(String []args){
User user = new User("lemon",27);
List<string> list = new ArrayList</string><string>();
list.add("l1");
list.add("l2");
user.setList(list);
Gson g1 = new Gson();
//使用 new Gson();
//{"name":"lemon","age":27,"list":["l1","l2"]}
System.out.println(g1.toJson(user));
//使用 new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
Gson g2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
//{"name":"lemon"}
System.out.println(g2.toJson(user));
}

分析

上面的例子将json中的name字段解析成了username

参考自:http://blog.csdn.net/z69183787/article/details/18809815

文章目录
  1. 1. @SerializedName 使用
  2. 2. 分析