JSON ⇒ JavaScript Object Notation
무슨 말이냐고요? 쉽게 말하면 JSON은 자바스크립트 문법이며, 키-값이 쌍을 이루는 형식으로 데이터를
저장하거나 전송할때 사용하는 “표기법” 입니다.
그래서 특정 프로그래밍 방식이나 서버와의 통신 방법같은게 아닌 단순히 데이터 “표기법” 인거죠!
JSON을 이해하기 위해서는 “자바스크립트”에 대한 기본적인 이해가 필요합니다.
특징:
- JSON은 자바스크립트를 확장하여 만들어졌습니다.
- JSON은 자바스크립트 객체 표기법을 따릅니다.
- JSON은 사람과 기계가 모두 읽기 편하도록 고안되었습니다.
- JSON은 프로그래밍 언어와 운영체제에 독립적입니다.
스프링부트랑 뭔 상관이죠?…
위에서 말했듯이 JSON은 데이터를 저장하거나 전송할때의 표기법입니다!
이말은 즉, 서버에서 데이터를 전송하여 받거나, 서버로 데이터를 전송할때 사용가능한 표기법이죠!
그래서 웹개발을 할때에는 JSON표기법을 사용하여 JPA, AJAX와 같은 프레임워크를 사용가능하게 해줍니다!
저는 현재 스프링부트를 사용하여 자바 + 스프링으로 개발을 하고 있기에, JSON을 활용하여 데이터를 가독성 있게, 편하게 보내고자 하는거죠!
JSON은 자바+Spring 환경에서만 사용 가능한게 아닌, 여러 프로그래밍 언어에서 사용이 가능합니다.
JSON 표기법
JSON의 형태는 **키(Key)**와 **값(value)**의 쌍으로 이루어져 있는 구조입니다.
그리고 Key와 Value사이에는 **콜론(:)**이 들어가게 됩니다.
{
"name": "david",
"age": 17
};
간단하져? 중괄호 안에 키와 값을 쌍으로 이루게 만들면 끝.
여러 데이터를 나열할 경우 **쉼표( , )**를 사용합니다.
해당 JSON데이터를 담아줄 변수만 선언하여 담아주면? 가져다가 쓰면 굳.
JSON값이 배열로 담긴다면?
객체(Object) 는 중괄호 { } 로 묶어서 표현하고,
배열(Array) 은 대괄호 [ ] 로 묶어서 표현합니다.
[
{"name": "david", "age": 12},
{"name": "john", "age": 21},
{"name": "kayne west", "age": 24}
];
자바와 동일하게 배열을 표기할때는 [ ] 을 쓰죠?
그리고 그 안에 {} 안에 키와 값을 표기를 하고 이게 하나의 배열요소가 됩니다!
배열안에 배열이요?…
var arr = [
{"name": "david", "age": 12},
{"name": "john", "age": 21},
{"name": "kayne west", "age": 24},
{"name": "lil nas x", "carrer": [
"bilboard 100", "gay"
]}
];
OMG…자바에서는 상상하기 힘든 조합이죠?
스크립트 기반의 문서인 자바스크립트에서는 가능합니다!
키에 해당되는 값이 또 배열로 선언이 되는거죠! (솔직히 이론상 끝도없이 가능합니다)
너무나도 간단하면서도, 자바에 익숙해진 나머지 이렇게 쉽게 된다고?
라는 의구심과 함께 디버깅하기 힘들거 같은데,,,,라는 고민도 들게 하네요!
근데 좋은건 좋은거라고. 잘 써머거야징 헿
'Spring & Spring Boot' 카테고리의 다른 글
Spring Boot And Mybatis 연동하기 feat.MySQL (0) | 2023.01.17 |
---|---|
Entity On Spring feat.JPA (0) | 2023.01.17 |
Spring 에서 ajax 사용하기 (0) | 2023.01.16 |
Spring bean(빈이란?) (0) | 2023.01.16 |
IOC (Inversion Of Control) 제어의 역전 .feat “Container” (0) | 2023.01.16 |