web

JSON이란?

달누 2024. 4. 21. 01:04

JSON은 뭘까?

웹개발을 하다 보면 JSON이라는 것에 대해 듣게 될 텐데 이게 도대체 뭘까??

간단하게 말하면 데이터 형식이다

 

데이터 교환 형식의 대표적인 데이터 형식은 JSON과 XML이 있다

JSON과 XML 이 둘을 비교하며 어떤 건지 또 어떤 것을 사용해야 할지 알아보는 시간이 됐으면 좋겠다.

 


JSON과 XML이란?


JSON과 XML은 둘 다 구조화된 데이터를 표현하고 전송하기 위한 데이터 형식이다

 

JSON(JavaScriopt Object Notation)

특징

- 경량의 데이터 교환 형식

- 텍스트기반의 구조화된 데이터를 표현

- 가독성이 좋다

- 다양한 프로그래밍 언어와 호환된다

 

XML(eXtensible Markup language) 

특징

- 태그형식으로 데이터를 표현

- 앞뒤에 태그를 붙여야 하기에 데이터 크기가 크다

- 트리구조

- 요소(element), 속성(attrivute), 텍스트(text) , 주석(comment) 등으로 구성

- 가독성이 낮다.

 

JSON과 XML의 데이터 형식 비교


JSON 예시

 

- 중괄호로 묶인 키(key) - 값(value) 쌍의 집합

- 키와 값은 콜론 :  으로 구분되며 다른 쌍과 콤마, 로 구분

- JSON의 value에는 문자열, 숫자, 불리언, 객체, 배열, 널 등 다양한 값이 올 수 있다.

 

데이터형식

{
"uid":"aaa1",
"title":"제목입니다",
"content":"내용입니다."
}

 

문자열배열

- 대갈호로 감싼다

[
"감자",
"고구마",
"옥수수"
]

 

객체배열

[{
"uid":"aaa1",
"title":"제목입니다1",
"content":"내용입니다1"
},
{
"uid":"aaa2",
"title":"제목입니다2",
"content":"내용입니다2"
}]

 

xml예시

 

데이터 형식

<!-- xml 데이터 예시--> (<!-- --> : comment)
<board> (<board> : element)
<uid>aaa1</uid> (aaa1 : text)
<title>제목</title>
<content>xml 테스트 내용</content>
<board>

 

다른 형식 : attribute를 사용

<!-- 이런식으로도 xml 작성이 가능 -->
<school>
<student name="학생1" age="12"/> (name, age == attribute)
</school>

마무리

최근에는 XML 형식보다는 JSON이 더 많이 사용되고 있다.

 

자바에서 JSON데이터를 다루는 방법이 여러가지가 있지만

일반적으로 Gson과 Jackson라이브러리를 이용해서 JSON을 쉽게 다룰 수 있다.

 

 

 

참고 :  json.org에 접속하면 JSON에 대한정보를 더 알 수 있다.

          최신버전의 스프링부트에서는 xml을 사용하지 않으려고 하고 있다는 것 등을 참고하면 좋을 것 같다.