-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathGsonExcludeFileds.java
49 lines (34 loc) · 1012 Bytes
/
GsonExcludeFileds.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.zetcode;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;
enum MaritalStatus {
SINGLE,
MARRIED,
DIVORCED,
UNKNOWN
}
class Person {
@Expose
private String firstName;
@Expose
private String lastName;
private MaritalStatus maritalStatus;
public Person(String firstName, String lastName,
MaritalStatus maritalStatus) {
this.firstName = firstName;
this.lastName = lastName;
this.maritalStatus = maritalStatus;
}
public Person() {}
}
public class GsonExcludeFileds {
public static void main(String[] args) {
Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.setPrettyPrinting()
.create();
Person p = new Person("Jack", "Sparrow", MaritalStatus.UNKNOWN);
gson.toJson(p, System.out);
}
}