AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

JSON 이스케이프 vs. 일반 문자열 이스케이프: 개발자가 알아야 할 핵심 차이

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

프론트엔드/백엔드 개발자 (중급~고급)

핵심 요약

  • JSON 이스케이프는 일반 문자열 이스케이프와 구조/규칙이 다름
  • JSON.stringify(), JSON.parse() 사용이 권장됨
  • 문맥에 따른 이스케이프 순서(예: \\ 먼저 처리)

섹션별 세부 요약

1. 일반 문자열 이스케이프

  • 특수 문자(", \n, \t)를 이스케이프 시퀀스로 표현
  • 언어별 지원 차이: JavaScript(\uXXXX), C/C++(\xXX), Python(\n)
  • 예: const message = "She said \"Hello\"";

2. JSON 이스케이프 규칙

  • RFC 7159 기준: \", \\, \uXXXX제한된 시퀀스만 지원
  • 예: "Path: C:\\\\Users""Path: C:\\Users"
  • Unicode만 지원, \', \v, \a는 제외

3. 이스케이프 차이점 요약

| 기능 | JSON 이스케이프 | 일반 문자열 이스케이프 |

|---|---|---|

| 백슬래시 | \\ | \\ |

| 유니코드 | \uXXXX | 선택적 |

| 싱글쿼터 | ❌ | \' |

| 오كتальное/헥사 | ❌ | ✅ |

4. 흔한 실수 및 해결 방법

  • 문맥 혼합: JSON.stringify(input).slice(1, -1) 사용 시 오류 발생
  • 이스케이프 순서: \\ 처리 후 \n 처리
  • 안전한 언스케이프: try { JSON.parse(...) } catch {...}

5. 적용 사례

  • JSON API/환경 설정 파일 구축
  • 개발자 툴(코드 변환, 텍스트 처리)
  • 사용자 입력 처리 및 코드 생성

결론

  • JSON 이스케이프는 JSON.stringify()/JSON.parse() 사용이 필수적
  • 이스케이프 순서(\\\n 등)와 문맥 분리(예: 템플릿 리터럴) 주의
  • \\uXXXX 형식의 유니코드만 지원하며, 테스트 시 \", \n, \t 등 기초 케이스 검증 필수