ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] JSON library Gson 사용법
    Java/기타 2019. 5. 19. 16:34
    반응형

    Gson 이란?

     Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 Java 라이브러리입니다. 

    Gson Github - https://github.com/google/gson

     

    Gson 특징

    1.Java Object를 JSON으로, JSON을 Java Object을 변환할 수 있도록 할 수 있도록 toJson() 및 fromJson() 메소드를 제공합니다.

    2.Java Generics을 지원합니다.

     

    Maven 설정

    1
    2
    3
    4
    5
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
    cs

     

    MVNrepository : https://mvnrepository.com/artifact/com.google.code.gson/gson

     

    Java Object를 JSON으로 변환

    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
    package com.tychejin.study.json;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import com.google.gson.Gson;
     
    public class GsonExample01 {
     
        public static void main(String[] args) {
     
            Gson gson = new Gson();
     
            User user = setUser();
     
            try {
     
                // 객체를 JSON 타입의 String으로 변환
                String jsonInString01 = gson.toJson(user);
                System.out.println(jsonInString01);
     
            } catch (Exception e) {
                e.getMessage();
            }
        }
     
        public static User setUser() {
     
            User user = new User();
            user.setName("JSON");
            user.setAge(10);
     
            List<String> list = new ArrayList<String>();
            list.add("JSON은 자바스크립트를 확장하여 만들어졌습니다.");
            list.add("JSON은 자바스크립트 객체 표기법을 따릅니다.");
            list.add("JSON은 사람과 기계가 모두 읽기 편하도록 고안되었습니다.");
            list.add("JSON은 프로그래밍 언어와 운영체제에 독립적입니다.");
            user.setMessages(list);
     
            return user;
        }
    }
     
    cs

     

    JSON을 Java Object로 변환

    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
    package com.tychejin.study.json;
     
    import java.io.FileReader;
     
    import com.google.gson.Gson;
    import com.google.gson.stream.JsonReader;
     
    public class GsonExample02 {
     
        public static void main(String[] args) {
     
            Gson gson = new Gson();
     
            try {
     
                // JSON 타입의 파일을 객체로 변환
                JsonReader jsonReader = new JsonReader(new FileReader("c:\\user.json"));
                User user01 = gson.fromJson(jsonReader, User.class);
                System.out.println(user01);
     
                String jsonInString = "{\"name\":\"JSON\",\"age\":10,\"messages\":[\"JSON은 자바스크립트를 확장하여 만들어졌습니다.\",\"JSON은 자바스크립트 객체 표기법을 따릅니다.\",\"JSON은 사람과 기계가 모두 읽기 편하도록 고안되었습니다.\",\"JSON은 프로그래밍 언어와 운영체제에 독립적입니다.\"]}";
     
                // JSON 타입의 String을 객체로 변환
                User user02 = gson.fromJson(jsonInString, User.class);
                System.out.println(user02);
     
            } catch (Exception e) {
                e.getMessage();
            }
        }
    }
    cs

     

    JSON 변환 (String, Map, List, JSONString, JSONObject, JSONArray) - https://tychejin.tistory.com/311

     

    반응형

    댓글

Designed by Tistory.