Development/JAVA

Json과 Gson

루루지 2021. 8. 5. 10:35
반응형

1. Json

기존의 xml의 경우 무겁다는 단점이 있지만(많은 태그들 원인),

json은 태그를 사용하지 않고 key:value 쌍으로 데이터를 표현하여 가볍다.

 

플랫폼에 독립적이어서 json의 형식만 지키면 시스템간 데이터 교환이 가능하다.

//데이터 형식
{
    "name" : "java",
    "age"  : 18
}

문법

- 객체는 {} 표기

- 배열은 [] 표기

- 각 속성은 key, value 한쌍으로 :를 이용해 구분

- 속성이 여러개일 경우 , 로 구분

 

2. Gson

gson은 json구조를 띄는 직렬화된 데이터를 JAVA 객체로 역직렬화, 직렬화 해주는 자바 라이브러리.

JSON Object -> JAVA Object,  JAVA Object -> JSON Object를 돕는 라이브러리

 

사용 코드

//Json Obejct -> Java Object
Gson gson = new Gson();
Map<?, ?> map = gson.fromJson(json, Map.class);

//Java Object -> Json Obejct
Gson gson = new Gson();
String json = gson.toJson(map);


//출력 데이터 형식
Json Obejct -> Java Object
map => {total=7.0, items=[]}

Java Object -> Json Obejct
json => {"total":7,"items":[]}