상세 컨텐츠

본문 제목

.json 과 .json5 의 차이점

IT 일반

by 폴리프레임 2024. 6. 3. 22:19

본문

반응형

JSON (.json)

JSON (JavaScript Object Notation)은 데이터 교환 형식으로 널리 사용됩니다. JSON의 주요 특징은 다음과 같습니다:

 

  • 엄격한 구문 규칙: JSON은 매우 엄격한 구문 규칙을 따릅니다.
    • 문자열은 반드시 이중 따옴표로 감싸야 합니다.
    • 객체의 키도 반드시 이중 따옴표로 감싸야 합니다.
    • 마지막 요소 뒤에 쉼표를 허용하지 않습니다.
  • 자료형: JSON은 기본 자료형만 지원합니다.
    • 문자열 (String)
    • 숫자 (Number)
    • 객체 (Object)
    • 배열 (Array)
    • 불리언 (Boolean)
    • null
  • 주석 금지: JSON에는 주석을 포함할 수 없습니다.

JSON5 (.json5)

JSON5는 2015년 시작되었으며,  JSON의 확장판으로, 좀 더 유연한 구문을 제공하여 사람에게 더 읽기 쉬운 형식을 목표로 합니다. JSON5의 주요 특징은 다음과 같습니다:

 

  • 유연한 문자열 구문:
    • 문자열을 단일 따옴표 또는 이중 따옴표로 감쌀 수 있습니다.
    • 템플릿 리터럴처럼 역따옴표(``)를 사용할 수 없습니다.
  • 키 이름:
    • 객체의 키는 이중 따옴표 없이 식별자로 사용할 수 있습니다.
    • 키에 공백이나 특수 문자가 포함되어 있지 않으면 따옴표 없이 사용할 수 있습니다.
{
    name: "Jane Doe", // 이중 따옴표 문자열
    'address': '123 Main St', // 단일 따옴표 문자열
    city: "New York", // 키 이름에 따옴표 없이 식별자 사용
    "zip code": "10001", // 키 이름에 공백 포함
}
  • 주석 허용:
    • C 스타일의 주석(// 또는 /* */)을 사용할 수 있습니다.
  • 쉼표 허용:
    • 마지막 요소 뒤에 쉼표를 허용합니다. 이를 "후행 쉼표"라고 합니다.
  • 숫자 표현:
    • 십진수, 16진수, 2진수, 8진수 표기법을 지원합니다.
    • 숫자에 양의 부호(+)를 사용할 수 있습니다.
    • NaN, Infinity를 지원합니다.
{
    decimal: 42, // 십진수
    hexadecimal: 0x2A, // 16진수
    binary: 0b101010, // 2진수
    octal: 0o52, // 8진수
    positiveInfinity: +Infinity, // 양의 무한대
    negativeInfinity: -Infinity, // 음의 무한대
    notANumber: NaN, // NaN
}
  • 특수 문자 및 이스케이프 시퀀스:
    • 추가적인 유니코드 이스케이프 시퀀스를 지원합니다.
{
    unicode: '\u2764', // 기본 유니코드 이스케이프 시퀀스
    additionalUnicode: '\u{1F600}', // 추가 유니코드 이스케이프 시퀀스 (😊)
}

 

 

비교 요약

특징 JSON (.json) JSON5 (.json5)
문자열 구문 이중 따옴표만 사용 이중 및 단일 따옴표 사용 가능
키 이름 반드시 이중 따옴표로 감싸야 함 따옴표 없이 식별자 사용 가능
주석 지원하지 않음 C 스타일 주석 지원
마지막 쉼표 허용하지 않음 허용
숫자 형식 십진수만 지원 16진수, 2진수, 8진수, NaN, Infinity 지원
이스케이프 시퀀스 기본 유니코드 이스케이프 시퀀스 지원 추가적인 유니코드 이스케이프 시퀀스 지원

 

'IT 일반' 카테고리의 다른 글

경도, 위도, Longitude, Latitude  (0) 2024.09.12
navigator - BOM  (0) 2024.06.04
parcel - webapp 설치  (0) 2024.05.30
webpack 개념  (0) 2024.05.30
Java를 이용한 웹  (0) 2024.05.18

관련글 더보기