"JSON, YAML 비교"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 16개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;JSON, YAML 비교
;JSON, YAML 비교
;.json, .yml 비교
;.json, .yml 비교


==JSON의 특징==
{| class='wikitable'
;장점
! 구분 !! JSON !! YAML
* YML보다 더 널리 사용됨
|-
| 확장자 || <code>.json</code> || <code>.yml</code>, <code>.yaml</code>
|-
| 장점
|
* YAML보다 더 널리 사용됨
:거의 대부분의 프로그래밍 언어에서 기본 지원함
:거의 대부분의 프로그래밍 언어에서 기본 지원함
* 공백에 신경쓰지 않아도 됨
* 개행, 공백 무시됨<ref>물론 데이터 내의 공백은 의미가 있음</ref>
 
|
;단점
* 주석(comment) 사용 가능<ref>앞에 <code>#</code>을 붙이면 된다. 굉장히 편리한 기능. Notepad++에서 {{키|Ctrl|Q}}로 주석 적용/해제 가능</ref> ★★★
* 주석(comment) 사용 불가
* 문자열을 항상 쌍따옴표로 감싸야 함
 
==YAML의 특징==
;장점
* 주석 사용 가능<ref>굉장히 편리한 기능이다. Notepad++에서 {{키|Ctrl|Q}}로 주석 적용/해제 가능</ref>
* 문자열을 쌍따옴표로 감싸지 않아도 됨
* 문자열을 쌍따옴표로 감싸지 않아도 됨
* 한글 그대로 사용 가능 ★
|-
| 단점
|
* 주석(comment) 사용 불가<ref>확장 문법에서는 //를 사용한 주석을 사용할 수 있는 경우가 있다. 표준 문법에서는 //를 키로 사용하거나, key이름에 <code>__</code>를 추가하는 등의 편법 처리가 있긴 하지만, 실제로 주석은 아니다.</ref>
* 문자열을 항상 쌍따옴표로 감싸야 한다.
* 한글 등 멀티바이트 문자는 인코딩되어 읽기 어렵다.
|
* 개행, 공백으로 블록 인식
:구조적으로 공백을 잘 맞춰야 한다.
:한줄로 작성 불가
|}


;단점
==#jmnote==
* 구조적으로 공백을 잘 맞춰야 함
* REST API 응답으로는 JSON이 적절
:YAML은 trace시<ref>예: console.log() 함수</ref>에 구조를 파악하기 어려움
* 설정 파일로는 YAML이 쓸만함


==같이 보기==
==같이 보기==
24번째 줄: 38번째 줄:
*[[YAML]]
*[[YAML]]


==주석==
==참고==


[[분류: JSON]]
[[분류: JSON]]
[[분류: YAML]]
[[분류: YAML]]
[[분류: 2 표제어]]

2022년 6월 16일 (목) 09:52 기준 최신판

1 개요[ | ]

JSON, YAML 비교
.json, .yml 비교
구분 JSON YAML
확장자 .json .yml, .yaml
장점
  • YAML보다 더 널리 사용됨
거의 대부분의 프로그래밍 언어에서 기본 지원함
  • 개행, 공백 무시됨[1]
  • 주석(comment) 사용 가능[2] ★★★
  • 문자열을 쌍따옴표로 감싸지 않아도 됨
  • 한글 그대로 사용 가능 ★
단점
  • 주석(comment) 사용 불가[3]
  • 문자열을 항상 쌍따옴표로 감싸야 한다.
  • 한글 등 멀티바이트 문자는 인코딩되어 읽기 어렵다.
  • 개행, 공백으로 블록 인식
구조적으로 공백을 잘 맞춰야 한다.
한줄로 작성 불가

2 #jmnote[ | ]

  • REST API 응답으로는 JSON이 적절
YAML은 trace시[4]에 구조를 파악하기 어려움
  • 설정 파일로는 YAML이 쓸만함

3 같이 보기[ | ]

4 참고[ | ]

  1. 물론 데이터 내의 공백은 의미가 있음
  2. 앞에 #을 붙이면 된다. 굉장히 편리한 기능. Notepad++에서 Ctrl+Q로 주석 적용/해제 가능
  3. 확장 문법에서는 //를 사용한 주석을 사용할 수 있는 경우가 있다. 표준 문법에서는 //를 키로 사용하거나, key이름에 __를 추가하는 등의 편법 처리가 있긴 하지만, 실제로 주석은 아니다.
  4. 예: console.log() 함수
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}