tobby48 6 лет назад
Родитель
Сommit
afe6a55b63

+ 52
- 0
src/main/java/kr/co/swh/lecture/opensource/gson/Academy.java Просмотреть файл

@@ -0,0 +1,52 @@
1
+package kr.co.swh.lecture.opensource.gson;
2
+
3
+import java.util.ArrayList;
4
+import java.util.List;
5
+
6
+import lombok.Data;
7
+
8
+/**
9
+ * <pre>
10
+ * kr.co.swh.lecture.opensource.gson
11
+ * Academy.java
12
+ *
13
+ * 설명 :GSON 예제
14
+ * </pre>
15
+ * 
16
+ * @since : 2018. 1. 29.
17
+ * @author : tobby48
18
+ * @version : v1.0
19
+ */
20
+@Data
21
+public class Academy {
22
+	private String name;
23
+	private List<Student> students;
24
+	
25
+	public static Academy getDummy() {
26
+		Academy academy = new Academy();
27
+		academy.setName("SWH Academy");
28
+
29
+		List<Student> studentList = new ArrayList<Student>();
30
+		Student s = new Student();
31
+		s.setName("이름1");
32
+		s.setAge(17);
33
+		s.setSchool("학교1");
34
+		studentList.add(s);
35
+
36
+		s = new Student();
37
+		s.setName("이름2");
38
+		s.setSchool("학교2");
39
+		studentList.add(s);
40
+
41
+		s = new Student();
42
+		s.setName("이름3");
43
+		s.setAge(19);
44
+		studentList.add(s);
45
+
46
+		s = new Student();
47
+		studentList.add(s);
48
+
49
+		academy.setStudents(studentList);
50
+		return academy;
51
+	}
52
+}

+ 0
- 60
src/main/java/kr/co/swh/lecture/opensource/gson/Company.java Просмотреть файл

@@ -1,60 +0,0 @@
1
-package kr.co.swh.lecture.opensource.gson;
2
-
3
-import java.util.ArrayList;
4
-import java.util.List;
5
-
6
-import lombok.Data;
7
-
8
-/**
9
- * <pre>
10
- * kr.co.swh.lecture.opensource.gson
11
- * Company.java
12
- *
13
- * 설명 :GSON 예제
14
- * 	ref. http://1004lucifer.blogspot.kr/2015/04/javagson-gson-java-json.html
15
- * </pre>
16
- * 
17
- * @since : 2018. 1. 29.
18
- * @author : tobby48
19
- * @version : v1.0
20
- */
21
-@Data
22
-public class Company {
23
-	private String name;
24
-	private List<Person> employees;
25
-	
26
-	public static Company getCompanyDummy() {
27
-		Company company = new Company();
28
-		company.setName("1004lucifer's Company");
29
-
30
-		List<Person> personList = new ArrayList<Person>();
31
-		Person person = new Person();
32
-		person.setName("1004lucifer");
33
-		person.setAge("30");
34
-		person.setSex("M");
35
-		personList.add(person);
36
-
37
-		person = new Person();
38
-		person.setName("vvoei");
39
-		person.setAge("29");
40
-		person.setSex("M");
41
-		personList.add(person);
42
-
43
-		person = new Person();
44
-		person.setName("John");
45
-		person.setSex("M");
46
-		personList.add(person);
47
-
48
-		person = new Person();
49
-		person.setName("Jane");
50
-		person.setAge("20");
51
-		personList.add(person);
52
-
53
-		person = new Person();
54
-		personList.add(person);
55
-
56
-		company.setEmployees(personList);
57
-
58
-		return company;
59
-	}
60
-}

+ 24
- 25
src/main/java/kr/co/swh/lecture/opensource/gson/GsonMain.java Просмотреть файл

@@ -8,10 +8,9 @@ import com.google.gson.GsonBuilder;
8 8
 /**
9 9
  * <pre>
10 10
  * kr.co.swh.lecture.opensource.gson
11
- * Company.java
11
+ * GsonMain.java
12 12
  *
13 13
  * 설명 :GSON 예제
14
- * 	ref. http://1004lucifer.blogspot.kr/2015/04/javagson-gson-java-json.html
15 14
  * </pre>
16 15
  * 
17 16
  * @since : 2018. 1. 29.
@@ -20,30 +19,30 @@ import com.google.gson.GsonBuilder;
20 19
  */
21 20
 public class GsonMain {
22 21
 	public static void main(String[] argv) {
23
-		Company company = Company.getCompanyDummy();
24
-
25
-		System.out.println("========= Object => Json ==========");
26
-		String company2Json = new Gson().toJson(company);
27
-		System.out.println(company2Json);
28
-
29
-		System.out.println("========= Json => Object =========");
30
-		Company json2Company = new Gson().fromJson(company2Json, Company.class);
31
-		printCompanyObject(json2Company);
32
-
33
-		System.out.println("========= Object => Json =========");
34
-		String company2JsonIsNull = new GsonBuilder().serializeNulls().create().toJson(company);
35
-		System.out.println(company2JsonIsNull);
36
-
37
-		System.out.println("========= Json => Object =========");
38
-		Company json2CompanyIsNull = new Gson().fromJson(company2Json, Company.class);
39
-		printCompanyObject(json2CompanyIsNull);
22
+		Academy academy = Academy.getDummy();
23
+
24
+		System.out.println("1. Object -> Json");
25
+		String academy2Json = new Gson().toJson(academy);
26
+		System.out.println(academy2Json);
27
+
28
+		System.out.println("2. Object => Json");
29
+		String academy2JsonIsNull = new GsonBuilder().serializeNulls().create().toJson(academy);
30
+		System.out.println(academy2JsonIsNull);
31
+		
32
+		System.out.println("3. Json => Object");
33
+		Academy json2Academy = new Gson().fromJson(academy2Json, Academy.class);
34
+		printAcademy(json2Academy);
35
+
36
+		System.out.println("4. Json => Object");
37
+		Academy json2AcademyIsNull = new Gson().fromJson(academy2JsonIsNull, Academy.class);
38
+		printAcademy(json2AcademyIsNull);
40 39
 	}
41 40
 
42
-	private static void printCompanyObject(Company company) {
43
-		List<Person> personList = company.getEmployees();
44
-		System.out.println("userName: " + company.getName());
45
-		for (Person person : personList) {
46
-			System.out.println(person);
41
+	private static void printAcademy(Academy company) {
42
+		List<Student> studentList = company.getStudents();
43
+		System.out.println("학원명: " + company.getName());
44
+		for (Student s : studentList) {
45
+			System.out.println(s);
47 46
 		}
48 47
 	}
49
-}
48
+}

src/main/java/kr/co/swh/lecture/opensource/gson/Person.java → src/main/java/kr/co/swh/lecture/opensource/gson/Student.java Просмотреть файл

@@ -5,10 +5,9 @@ import lombok.Data;
5 5
 /**
6 6
  * <pre>
7 7
  * kr.co.swh.lecture.opensource.gson
8
- * Person.java
8
+ * Student.java
9 9
  *
10 10
  * 설명 :GSON 예제
11
- * 	ref. http://1004lucifer.blogspot.kr/2015/04/javagson-gson-java-json.html
12 11
  * </pre>
13 12
  * 
14 13
  * @since : 2018. 1. 29.
@@ -16,8 +15,8 @@ import lombok.Data;
16 15
  * @version : v1.0
17 16
  */
18 17
 @Data
19
-public class Person {
18
+public class Student {
20 19
 	private String name;
21
-	private String age;
22
-	private String sex;
20
+	private int age;
21
+	private String school;
23 22
 }