이게 자바 카테고리에 들어가는게 맞는지는 모르겠지만
GSON 은 관련이 있다고 생각하니까 그냥 여기에 포스팅 하기로 했다.
둘다 많이 쓰는것들이지만 사용할때마다 그때그때 사용하기만 했을뿐 제대로 정리를 한 적은 없는 것 같아서
이번 기회에 정리해보려고한다.
JSON 에 대해 알아보자.
JSON 은 JavaScript Object Notation 의 축약어로
'데이터를 저장, 전송할때 사용되는 경량의 데이터 교환 형식'
이라고 할 수 있겠다.
JSON 자체가 뭔가를 한다기 보다는 하나의 양식, 또는 데이터 표시의 방법중 하나라고 생각하면 편하다.
JSON 은 아주 많은 곳에서 쓰인다.
많이 쓰이는 장점중 내가 생각하는 장점을 꼽자면 가볍고,
여러 언어에서 사용가능하기 때문에 데이터교환의 플랫폼 제약이 적다.
웹, 모바일 , 서버 모든곳에서 데이터를 주고 받을때 통일 된 규약을 만들어줘서 하나의 서버에서 ios 로도 안드로이드로도 데이터를 주고 받을 수 있게 해준다.
추가적인 설명으로 xml 이라는것도 존재하는데 이것도 json 과 같이 데이터를 표현하는 방식중 하나인데 json 에 비해 사용하기도 까다롭고 데이터 크기도 더 커서 json이 대세로 굳혀졌다고 볼 수 있다.
그럼 JSON 은 어떤 구조로 이루어져있나?
{
"employees": [
{
"name": "Surim",
"lastName": "Son"
},
{
"name": "Someone",
"lastName": "Huh"
},
{
"name": "Someone else",
"lastName": "Kim"
}
]
}
이렇게 key와 value 가 존재할 수 있고 key나 뒤에 따라오는 문자열은 쌍따옴표를 이용해서 표기하는것이 규칙이다.
위의 예처럼 employee 라는 배열안에 3개의 값이 들어가게 배열형식으로 만들 수도 있다.
아주 다양한 방식으로 사용 될 수 있는데 json에 대해서 검색하면 아주 많은 글들이 나오니 더 자세하게 알고 싶은 사람은 검색을 하길 바란다. (다 적기 귀찮아서 그런건 아니다 절대..)
그럼 제목에 있던 GSON 은 뭘까?
라이브러리 중에 구글에서 제공하는 GSON 이라는 라이브러리가 있다.
이게 뭔가 하면 자바 오브젝트를 json으로 쉽게 변경해주는 라이브러리다.
Java 개발자라면 쓰는것이 정신건강에 이롭다.
자세한 설명은 내가 쓰는거보다 더 잘 설명 된 블로그가 있어서 첨부한다.
'Java' 카테고리의 다른 글
JAVA 시간 차이 계산하기 (0) | 2021.04.10 |
---|---|
자바 generic (0) | 2021.01.30 |
인터페이스와 추상클래스 설명 및 차이점 (0) | 2020.04.11 |