문자열
문자열
JSON에서 문자열(string)이란 일련의 연속된 문자의 집합을 의미합니다.
이러한 문자열은 큰따옴표("") 안에 유니코드 문자들의 나열로 구성됩니다.
JSON에서 역슬래시(\) 문자는 특정 문자와 함께 사용되어 이스케이프 시퀀스(escape sequence)로 사용됩니다.
따라서 JSON 문자열에는 역슬래시(\)와 큰따옴표(")를 바로 사용할 수 없으며, 이스케이프 시퀀스로 표현해야 합니다.
예제
{
"name": "식빵"
}
자바스크립트에서는 문자열을 표현할 때 큰따옴표("")와 작은따옴표('')를 모두 사용할 수 있지만, JSON에서는 오직 큰따옴표("")만을 사용할 수 있습니다.
이스케이프 시퀀스(escape sequence)
이스케이프 시퀀스(escape sequence)는 문자열이 화면에 출력될 때 사용하게 될 특수한 문자를 위해 만들어졌습니다.
이러한 이스케이프 시퀀스는 역슬래시(\)와 특정 문자와의 조합으로 사용할 수 있습니다.
JSON에서 사용할 수 있는 이스케이프 시퀀스는 다음과 같습니다.
이스케이프 시퀀스 | 설명 |
---|---|
\b | 백스페이스 |
\f | 폼 피드(form feed) |
\n | 개행 |
\r | 캐리지 리턴(carriage return) |
\t | 탭(tab) |
\" | 큰따옴표 |
\/ | 슬래시 |
\\ | 역슬래시 |
\uHHHH | 16진수 네 자리로 표현된 유니코드 문자 |
다음 예제는 JSON 문자열에서 큰따옴표를 표현하기 위해 이스케이프 시퀀스를 사용하는 예제입니다.
예제
{
"comment": "안녕하세요. \"식빵\" 입니다."
}
JSON 파서(parser)는 우선 JSON 데이터를 모두 읽어 들입니다.
위의 예제처럼 큰따옴표를 이스케이프 시퀀스(\")로 표현하지 않았다면, 식빵이라는 문자열 앞에 있는 큰따옴표에서 문자열이 모두 끝났다고 인식할 것입니다.
따라서 JSON 파서는 오류를 발생시킬 것입니다.
이처럼 문자열 내에서 큰따옴표나 역슬래시를 표현하기 위해서는 반드시 이스케이프 시퀀스를 사용하여 JSON 파서에 해당 따옴표는 문자열을 끝내는 따옴표가 아니라는 사실을 알려주어야만 합니다.