코딩왕랄프👊🏻

[GSON] GSON 정리 본문

카테고리 없음

[GSON] GSON 정리

hyerm_2 2021. 7. 19. 11:04
반응형
SMALL
GSON?

Json 구조를 띄는 직렬화된 데이터를 자바의 객체로 직렬화, 역직렬화 해주는 자바 라이브러리

Json Object <-> Java Object 변경이 가능하도록 해줌

 

 

# GSON 사용법

 

- GSON 사용 위해서는, 라이브러리 들을 설치해주어야 함!

 

 

# GSON으로 자바의 데이터들을 파일에 저장

 

다음은 내가 진행하고 있는 프로젝트의 한 부분이다.

 

순서는 이렇다.

1. Gson을 선언해주기.

2. gson.toJson (저장할 데이터) 를 사용하여 json 으로 변형된 string 받기

3. FileWriter 선언

4. FileWriter로 위의 json 형식으로 된 string을 write

 

* 이때, 이렇게만 하면 파일에 저장되는 json이 한줄로 쭉 늘어져 보기 힘든 경우가 있다.

이를 방지하기 위해, Gson을 선언할때 setPrettyPrinting()을 사용!

 

사용법은 이렇다. 

Gson gson = new GsonBuilder().setPrettyPrinting().create();

 

이 메소드를 사용하면 보다 깔끔하게 json 데이터들이 정렬된 걸 확인할 수 있다!

 

 

 

# GSON으로 자바의 데이터들을 파일에서 읽어오기

 

순서는 이렇다.

1. StringBuffer 선언

2. FileReader 선언

3. StringBuffer로 json 파일에 있는 데이터들을 읽어오기

4. StringBuffer.toString() 메소드를 이용해 스트링버퍼를 스트링 형태로 변환

5. Gson 선언

6. gson.fromJson(string, 저장하고자 하는 class) 

   이때 나는 Todo라는 클래스의 배열에다 저장하길 원했다. => Todo[].calss

   Todo[] todoArray = gson.fromJson(string, Todo[].class);

7. 배열로된 데이터를 리스트로 옮길때, Arrays.asList() 메소드 사용

8. 옮겨진 리스트에 원하는 데이터들이 담겨 있다!

 

*처음 나는, Gson으로 변형 한 것을 하나의 string으로 받아 Parser로 일일이 다 element들을 뽑아냈다.

* list나 array로 사용할 경우, 위 같은 방법이 있음을 꼭 잊지 말고 이용하자,,!

* Parser로 하나하나 return 하니 너무 시간이 오래걸렸다ㅠ

반응형
LIST