JSON이란 무엇인가?
: JSON은 JavaScript Object Notation 철자로, 데이터 교환 형식을 의미합니다.
사람이 읽고 쓰기에 용이하며, 기계가 파싱하고 생성하기도 간단한 형식입니다.
주로 웹 애플리케이션에서 데이터를 교환하고 전송하는 데 사용됩니다.
JSON은 자바스크립트의 객체 표기법을 기반으로 하며, 다양한 프로그래밍 언어에서 지원됩니다.
JSON을 통해 우리는 서로 다른 프로그래밍 언어로 개발하고 있어도 빠르고 간편하게 데이터를 주고받을 수 있습니다.
JSON의 특징:
1. 간결하고 가독성이 좋음:
JSON은 텍스트 기반 형식이므로 사람이 읽고 쓰기가 쉽습니다. 중첩된 데이터 구조를 사용하여 복잡한 데이터를 표현할 수 있으며, 인덴팅을 사용하여 계층 구조를 시각적으로 파악할 수 있습니다.
2. 독립적인 언어 형식:
JSON은 언어와 플랫폼에 독립적이므로 다양한 프로그래밍 언어에서 지원됩니다. 따라서 서로 다른 언어로 작성된 애플리케이션 간에 데이터를 교환하는 데 적합합니다.
3. Key-Value 형식:
JSON은 이름과 값으로 이루어진 쌍을 사용하는 형식입니다. 이러한 Key-Value 쌍은 객체(Object)로 표현되며, 배열(Array)을 포함하여 복잡한 데이터 구조를 표현할 수 있습니다.
4. 데이터 타입 지원:
JSON은 다양한 데이터 타입을 지원합니다. 문자열(String), 숫자(Number), 불리언(Boolean), 배열(Array), 객체(Object), null 등의 데이터 타입을 사용할 수 있습니다.
JSON의 형식:
JSON은 이름과 값 사이에 콜론(:)을 사용하여 Key-Value 쌍으로 데이터를 표현합니다.
여러 개의 Key-Value 쌍은 중괄호({})로 둘러싸여 있으며, 배열은 대괄호([])로 둘러싸여 있습니다.
{
"name": "John Doe",
"age": 30,
"isStudent": false,
"hobbies": ["reading", "swimming", "coding"],
"address": {
"city": "New York",
"zipcode": "10001"
},
"favoriteNumbers": [1, 7, 42],
"pet": null
}
JSON의 활용:
JSON은 웹 애플리케이션에서 API 호출 및 응답, 클라이언트와 서버 간 데이터 교환, 설정 파일 저장 등 다양한 용도로 사용됩니다. 최근의 웹 애플리케이션 개발에서는 JSON 형식이 널리 사용되며, 많은 프로그래밍 언어와 프레임워크에서 JSON을 처리하는 기능을 제공합니다.
또한, JSON의 가독성과 활용성을 위해 JSON 데이터를 포맷팅 하여 출력하는 것이 일반적입니다.
Jackson 라이브러리란 무엇인가?
: 스프링 부트에서 JSON 데이터를 처리하기 위해 Jackson 라이브러리를 사용합니다.
Jackson은 JSON 데이터를 자바 객체로 변환하거나, 자바 객체를 JSON 형식으로 직렬화하는데 도와줍니다.
즉, JSON 데이터와 자바 객체 간의 변환 작업을 매우 간편하게 처리할 수 있도록 지원해 주는 라이브러리입니다.
보통 스프링 부트에서 Jackson 라이브러리를 기본적으로 제공하지만, 아닌 경우 스프링 부트 2.7.* 기준으로 스프링 부트 프로젝트 파일의 build.gradle에 "implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5" 작성하여 Jackson 라이브러리를 import 해 사용할 수 있습니다.