Computer Science/Network
JSON이란?
앵도라지
2023. 2. 7. 14:28
JSON은 데이터 전송 시의 일종의 약속이라고 할 수 있다.
많은 프로젝트를 하면서 JSON 포맷을 접하는 경우가 많은데, 과연 이 JSON이란 무엇이고 왜 사용되는걸까?
1. JSON (JavaScript Object Notation)
- JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식이다.
- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다.
- JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. (독립적임)
쉽게 말해서 JSON은 데이터 포맷이고, 타 시스템과의 연동을 용이하게 하기 위한 일종의 규약이다.
사람과 기계 모두가 읽기 쉬운 형태로 되어 있고 용량도 작아서 데이터 전송에 많이 사용되고 있다는 것이 특징이다.
2. JSON 자료형
- Number : JavaScript에서 배정되는 정밀한 부동 소수점 형식
- String : 큰 따옴표를 사용한 유니코드
- Boolean : True / False
- Array : 리스트 형태의 데이터
- Value : string, number, true, false, null
- Object : 딕셔너리 형태의 key : value
- Null : 비어있는 값
일반적인 JSON 자료형은 Object 일 경우 {} 로 감싸주고있고, Array일 경우 []로 감싸주고 있어서 구분이 쉽다.
3. XML vs JSON vs YAML
1) XML
- HTML 문법처럼 양 끝에 여는 태그와 닫는 태그가 존재한다.
- 데이터의 크기가 커지고 상대적으로 무겁기 때문에 JSON 타입이 최근에는 더 많이 사용된다.
<language>
<name>HTML</name>
<category>web</category>
<developer>W3C</developer>
<version status="working draft">5.1</version>
<priority rating="1">high</priority>
</language>
2) YAML
- json은 중괄호를 이용해 데이터간의 구분을 표현하지만, yaml은 띄어쓰기로 데이터 구분한다.
- 파이썬과 닮았다는 이야기가 많다.
- JSON에서 한 발자국 나아가 더 간결한 형태로 표현이 가능하고 프로그래밍 언어와 유사해 최근 인기를 많이 얻고 있는 포맷이다.
위 사진 처럼 각 데이터 포맷은 문법이 조금씩 다르고 장단점이 존재한다.
이들 각각의 문법은 사실 암기보다, 데이터 형식 변환을 해주는 사이트가 많으니 그곳을 참고하면 간단히 문제를 해결할 수 있다.
[예시 사이트]
JSON을 YAML로 변환 - 온라인에서 무료로 JSON을 YAML로
즉석에서 JSON을 YAML로 변환하십시오! YAML과 JSON (두 파일 형식 모두) 에는 고유한 이점이 있습니다.YAML은 일반적으로 더 자세한 JSON보다 읽기 쉬운 것으로 간주됩니다.JSON은 데이터 교환에 이상적
products.aspose.app
https://fronteer.kr/service/xml2json
XML2JSON : XML ⇔ JSON 변환 서비스
fronteer.kr