JSON 이스케이프/ 이스케이프 · 언이스케이프
JSON 문자열 이스케이프 및 언이스케이프. 큰따옴표, 줄바꿈, 탭 등 특수 문자를 자동 처리합니다.
일반 텍스트 → JSON 문자열
일반 텍스트
0 문자
이스케이프된 문자열
0 문자
JSON 이스케이프 시퀀스
\\백슬래시\"큰따옴표\n줄바꿈 (LF)\r캐리지 리턴 (CR)\t탭\f폼 피드\b백스페이스\uXXXX유니코드 코드 포인트이 도구가 도움이 되었나요?
코드 예제
JavaScript
const raw = 'Hello "World"\nLine 2';
const escaped = JSON.stringify(raw).slice(1, -1);
// 'Hello \"World\"\\nLine 2'
const unescaped = JSON.parse('"' + escaped + '"');Python
import json
raw = 'Hello "World"\nLine 2'
escaped = json.dumps(raw)[1:-1]
original = json.loads('"' + escaped + '"')Go
raw := "Hello \"World\"\nLine 2" b, _ := json.Marshal(raw) // string(b) includes outer quotes
Shell (curl)
# Escape for curl:
curl -d '{"msg": "Hello\nWorld"}' ...
# Or use Python:
python3 -c "import json,sys; print(json.dumps(sys.stdin.read()))"자주 묻는 질문
왜 JSON 문자열 이스케이프가 필요한가요?
JSON 사양(RFC 8259)은 문자열의 특수 문자를 백슬래시로 이스케이프해야 합니다. 가장 흔한 것은 큰따옴표("→\"), 줄바꿈(→\n), 백슬래시(\→\\)입니다. 이스케이프되지 않은 특수 문자는 JSON 파싱 오류를 일으킵니다.
어떤 문자를 이스케이프해야 하나요?
큰따옴표("→\"), 백슬래시(\→\\), 제어 문자(U+0000~U+001F). 줄바꿈(\n), 캐리지 리턴(\r), 탭(\t), 백스페이스(\b), 폼 피드(\f)가 포함됩니다. 다른 Unicode 문자는 이스케이프 불필요하지만 \uXXXX 형식으로 표현할 수 있습니다.
JSON.stringify와 수동 이스케이프의 차이점은?
JSON.stringify(str)은 결과 양끝에 큰따옴표를 추가하고 모든 이스케이프를 처리합니다. 수동 이스케이프는 따옴표 없이 문자열 내부만 처리하며, 기존 JSON 구조에 텍스트를 삽입할 때 적합합니다.
\uXXXX 형식이란?
\uXXXX는 JSON의 Unicode 이스케이프 시퀀스로, XXXX는 4자리 16진수 코드 포인트입니다. 예: \u0009는 탭 문자, \u4e2d는 한자 '중'. 모든 Unicode 문자를 이 형식으로 표현할 수 있지만, 일반적으로 ASCII 출력이 필요할 때만 사용됩니다.
API 디버깅 시 어떻게 사용하나요?
일반적인 사용 사례: 1) 여러 줄 텍스트를 JSON 필드에 넣기 전 이스케이프. 2) curl 명령용 JSON body 준비. 3) SQL 쿼리를 JSON 요청 본문에 삽입할 때 처리.
JSON 이스케이프와 HTML 이스케이프의 차이점은?
JSON 이스케이프는 백슬래시(\)를 사용하고 JSON 사양 준수가 목적입니다. HTML 이스케이프는 HTML 엔티티(&, <, ")를 사용합니다. JSON을 HTML에 삽입할 때는 두 가지가 모두 필요하며, 순서는 JSON → HTML입니다.