스프링&스프링부트

JSON이란? JSON 기초 정리

gitofjy 2022. 12. 3. 13:48

JSON, JavaScript Object Notation

- JSON은 더 쉽게 데이터를 교환하고 저장하기 위해 만들어진 텍스트 기반의 데이터 표준

- XML의 대안으로 더 쉽게 데이터를 교환하고 저장

- 가볍고 읽기 편함, key-vlaue 쌍으로 구성

- JSON은 텍스트 기반, 어떤 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있음

    > JSON에서 받은 object를 언어에 맞게 변환해서 사용하고 다시 데이터를 변환해서 JSON에 저장 가능

    > 프로그래밍 언어와 운영체제에 독립적

 

 

 

JSON VS XML

- 공통점 : 

1) 데이터를 저장하고 전달하기 위해 고안

2) 계층적 데이터 구조

3) 다양한 프로그래밍 언어에 의해 파싱

4) XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있음

 

- 차이점 :

1) JSON은 종료 태그를 사용하지 않는다

2) JSON의 구문이 XML보다 더 짧아 더 빨리 읽고 쓸 수 있다

3) XML은 배열을 사용할 수 없고 JSON은 배열을 사용할 수 있다

4) XML은 XML 파서로 파싱되고 JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱

5) XML은 주석 사용가능, JSON은 주석 사용하지 않는 것이 좋다

 

 

 

XML 말고 왜 JSON 사용?

- XML을 사용하면 불필요한 태그가 많이 사용됨 > 가독성, 파일크기 이슈 발생

- 이 이슈를 해결하기 위해 JSON 사용하는 추세

 

 

 

JSON 객체

- JSON 객체는 중괄호({})로 둘러쌓아 표현

{
	"name": "개발자",
    "age": 10,
	"height": 170,
	"weight": 60
}

 

- JSON 배열은 대괄호([ ])로 둘러쌓아 표현

"people" : [
	{"name": "개발자", "age": 20, "height": 170, "weight": 60},
	{"name": "요리사", "age": 25, "height": 160, "weight": 55},
	{"name": "엔지니어", "age": 20, "height": 148, "weight": 45},
]

 

 

 

JSON 타입

- number, string, boolean, object, array, null

 

 


( 참고 )

https://velog.io/@myway_7/JSON-JSON-%EA%B8%B0%EC%B4%88-%EA%B0%9C%EB%85%90

https://inpa.tistory.com/entry/JSON-%F0%9F%93%91-JSON-%EA%B8%B0%EC%B4%88-%EC%A0%95%EB%A6%AC

728x90