일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- android
- 안드로이드 개발자
- 안드로이드 다이얼로그
- Kotiln
- 코틀린
- Go언어
- 안드로이드
- Flutter
- 개발자
- 안드로이드 컴포즈
- Firebase
- 코루틴
- MVVM
- Dev6
- 잡담
- 알고리즘
- Swift 문법
- Java
- RxJava
- RxKotiln
- 일상
- 코딩테스트
- swift map
- react
- 이펙티브코틀린
- Rxjava 안드로이드
- android compose
- 이펙티브 코틀린
- 반응형 프로그래밍
- Today
- Total
최데브는 오늘도 프로그래밍을 한다.
GSON 과 JSON 본문
이게 자바 카테고리에 들어가는게 맞는지는 모르겠지만
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 |