JSON Stringify
JSON을 코드나 URL에 바로 넣기 쉬운 문자열로 바꾸고, 필요할 때 다시 JSON 객체로 복원할 수 있는 무료 온라인 도구입니다.
관련 추천
JSON Stringify와 문자열 임베딩이란?
JSON Stringify는 JSON 객체나 배열을 문자열로 직렬화하는 작업입니다. JavaScript에서는 `JSON.stringify()`가 가장 일반적인 방법이며 API 응답 저장이나 로그 기록에 자주 쓰입니다.
실무에서는 이 결과를 다시 소스코드 문자열, 데이터베이스 TEXT 컬럼, URL 파라미터, 또 다른 JSON 필드 안에 넣는 경우가 많습니다. 이런 상황에서는 큰따옴표, 줄바꿈, 백슬래시를 한 번 더 이스케이프해야 바깥 구조가 깨지지 않습니다.
이 도구는 기본 stringify 결과에 바깥 따옴표와 내부 특수문자 이스케이프를 자동으로 추가합니다. Parse 모드에서는 반대로 이런 문자열을 풀어서 읽기 쉬운 JSON으로 되돌립니다. 전 과정은 브라우저 로컬에서 처리됩니다.
사용 사례
- JSON을 문자열 리터럴로 바꿔 JavaScript / Java / Python / Go 코드에 넣고 싶을 때
- API 응답 JSON을 다른 JSON 필드의 문자열 값으로 중첩해야 할 때
- JSON 문자열을 DB TEXT 컬럼이나 Redis 값으로 저장할 때
- URL 파라미터나 헤더로 JSON 문자열을 전달해야 할 때
- 로그나 설정 파일의 이스케이프된 JSON을 다시 객체로 복원해 읽고 싶을 때
이용 방법
- 왼쪽 입력창에 JSON 또는 문자열을 붙여 넣거나 sample / file upload를 사용합니다
- Stringify 또는 Parse 모드를 고르고 필요하면 Pretty / Compact나 출력 형식을 바꿉니다
- 오른쪽 결과를 확인한 뒤 코드나 문서에 붙일 때는 Copy를 사용합니다
- 필요하면 `stringified.txt` 또는 `parsed.json`으로 다운로드합니다
주요 기능
- 양방향 모드: Stringify와 Parse를 오가며 JSON과 임베딩 문자열을 상호 변환할 수 있습니다
- 자동 임베딩 이스케이프: 큰따옴표, 백슬래시, 줄바꿈, 탭 등을 자동으로 처리합니다
- 여러 출력 형식 지원: 따옴표 포함, 포맷된 JSON, 한 줄 compact 출력으로 전환할 수 있습니다
- 코드 삽입에 적합: JavaScript, Java, Python, Go 문자열 초기값에 바로 붙여 넣기 좋은 형태로 만듭니다
- URL과 DB 저장 시 편리: query 파라미터, TEXT 컬럼, 로그 저장 문자열로 활용하기 좋습니다
- 완전한 로컬 처리: 직렬화, 역변환, 포맷팅 모두 브라우저 안에서 끝납니다
코드 예제
JavaScript에서 JSON을 임베딩 문자열로 만들기
javascriptconst data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
const json = JSON.stringify(data, null, 2);
const embedded = '"' + json
.replace(/\\/g, '\\\\')
.replace(/"/g, '\\"')
.replace(/\n/g, '\\n')
.replace(/\r/g, '\\r')
.replace(/\t/g, '\\t') + '"';Python json.dumps로 다시 이스케이프하기
pythonimport json
data = {"name": "Alice", "age": 30}
pretty = json.dumps(data, indent=2, ensure_ascii=False)
embedded = json.dumps(pretty)
restored = json.loads(json.loads(embedded))jq로 JSON 파일 문자열화하기
bashjq -Rs . data.json
echo '"{\"name\":\"Alice\"}"' | jq -r .자주 묻는 질문
JSON Stringify와 JSON.stringify()는 같은가요?
기본 직렬화 로직은 같지만, 이 도구는 임베딩용 바깥 따옴표와 내부 재이스케이프까지 자동으로 처리합니다.
JSON Escape와는 무엇이 다른가요?
JSON Stringify는 JSON 객체 전체를 임베딩 가능한 문자열로 만들고, JSON Escape는 일반 문자열의 특수문자만 처리합니다.
Stringify하면 읽기 어려워지나요?
데이터는 유지됩니다. Pretty 출력에서는 줄바꿈과 들여쓰기를 보존해 읽기 쉽게 확인할 수 있습니다.
Parse 모드에서 `\n`이나 `\"`도 복원되나요?
예. 합법적으로 이스케이프된 문자열이라면 바깥 따옴표를 제거하고 특수문자를 되돌린 뒤 JSON으로 다시 파싱합니다.
Stringify 결과를 URL에 바로 넣어도 되나요?
JSON 차원에서는 안전하지만 URL에 넣을 때는 `encodeURIComponent` 같은 추가 인코딩을 권장합니다.
중첩 JSON 문자열에도 쓸 수 있나요?
가능합니다. 안쪽 JSON을 문자열화한 뒤 바깥 JSON의 문자열 값으로 안전하게 넣을 수 있습니다.
결과를 파일로 저장할 수 있나요?
할 수 있습니다. Stringify는 `stringified.txt`, Parse는 `parsed.json`으로 저장됩니다.
입력 데이터가 서버로 전송되나요?
아니요. 모든 과정이 브라우저 로컬에서 실행되므로 내부 설정이나 민감한 JSON도 비교적 안전하게 다룰 수 있습니다.
문제 해결
Stringify에서 "Invalid JSON"이 나와요
후행 쉼표, 작은따옴표, 따옴표 없는 키, 주석 등이 원인일 수 있습니다. 먼저 JSON 복구 도구로 정리해 보세요.
Parse 결과가 JSON이 아니에요
바깥 따옴표가 없거나 내부 백슬래시가 깨졌을 수 있습니다. 입력 문자열의 이스케이프 상태를 확인해 주세요.
코드에 붙였더니 SyntaxError가 발생해요
수동으로 따옴표나 백슬래시를 수정하면 깨지기 쉽습니다. 가능하면 도구 출력값을 그대로 사용하세요.
큰 JSON에서 브라우저가 느려져요
몇 MB 이상이면 메모리 사용량이 커질 수 있습니다. 대용량은 나누어 처리하거나 Node.js / Python 스크립트를 사용하세요.
한글이나 이모지가 `\uXXXX`로 바뀌지 않아요
정상입니다. JSON은 Unicode 문자를 그대로 담을 수 있습니다. `\uXXXX`가 꼭 필요하면 출력 후 별도 변환이 필요합니다.
용어집
- JSON.stringify
- JavaScript 내장 메서드로 JS 값을 JSON 문자열로 직렬화합니다.
- JSON.parse
- JSON 문자열을 다시 객체나 배열로 파싱하는 JavaScript 내장 메서드입니다.
- Serialize
- 메모리 안의 데이터 구조를 저장·전송 가능한 문자열 형식으로 바꾸는 과정입니다.
- Deserialize
- 직렬화된 문자열을 원래 데이터 구조로 되돌리는 과정입니다.
- Escape
- 특수문자 앞에 백슬래시를 붙여 바깥 문법이 깨지지 않게 만드는 처리입니다.
- String Literal
- 소스코드에서 따옴표로 감싼 문자열 상수를 말합니다.
- Double-Escape
- 이미 이스케이프된 문자열을 다른 문자열 안에 넣기 위해 한 번 더 이스케이프하는 것입니다.
- URL Encode
- URL 예약 문자를 `%XX` 형식으로 바꾸는 처리로, JSON escape와는 별개입니다.
JSON Stringify 문자 이스케이프 표
| 원문 문자 | Stringify 후 | 이름 | 설명 |
|---|---|---|---|
" | \" | 큰따옴표 | 바깥 문자열 종료를 막기 위해 필수 |
\ | \\ | 백슬래시 | 이스케이프 문자 자신도 다시 표현해야 함 |
줄바꿈 | \n | Newline | 멀티라인을 한 줄 문자열에 넣을 때 필요 |
탭 | \t | Tab | 제어문자 이스케이프 |
캐리지 리턴 | \r | Carriage Return | Windows 줄바꿈의 일부 |
/ | / | 슬래시 | JSON에서는 보통 그대로 둬도 됨 |
JSON.stringify와 이 도구의 차이
| 도구 | 입력 | 출력 | 대표 사용처 |
|---|---|---|---|
| JSON.stringify() | JS 객체 | 표준 JSON 문자열 | API 응답, 파일 저장, 일반 직렬화 |
| 이 도구 Stringify | JSON 객체 | 따옴표 포함 임베딩용 문자열 | 코드, DB, URL, 중첩 JSON |
| 이 도구 Parse | 이스케이프된 문자열 | 표준 JSON 객체 | 로그나 DB 문자열을 다시 객체로 복원 |
| JSON Escape | 일반 문자열 | 특수문자만 이스케이프한 문자열 | 순수 텍스트 안전 처리 |
Authoritative References
- MDNJSON.stringify - MDN
- MDNJSON.parse - MDN
- IETFJSON 규격 RFC 8259
- WikipediaJSON - Wikipedia
- JSON 압축
- CSV 를 JSON으로
- JSON을 CSV로
- JSON Diff
- JSON Escape / Unescape
- JSON 평탄화
- JSON 포맷터
- JSON 생성기
- JSONPath 온라인 쿼리
- JSON 병합
- JSON 복구
- JSON 스키마 검증기
- JSON 정렬
- JSON Stringify
- JSON을 HTML로 변환
- JSON을 Java로
- JSON을 Markdown으로
- JSON을 SQL로 변환
- JSON을 TOML로 변환
- JSON을 TypeScript로 변환
- XML을 JSON으로
- JSON을 XML로 변환
- YAML을 JSON으로 변환
- JSON → YAML 변환
- JSON을 Go로
- JSON을 Rust로
- JSON → Swift
- JSON에서 C#로
- JSON을 C++로
- JSON을 PHP로
- JSON을 Python으로