입력

출력

문자열을 JSON으로란?

때로는 JSON이 문자열로 옵니다: 이스케이프됨, 이중 인코딩됨, 또는 따옴표로 감싸진 경우. "{\"a\": 1}"와 같은 문자열은 값이 JSON인 JSON 문자열입니다. 파싱하려면 두 번 파싱해야 합니다: 먼저 외부 문자열, 그 다음 내부 JSON. 이 도구가 그것을 합니다. 또한 입력이 JSON으로 파싱되어야 하는 일반 문자열인 경우도 처리합니다.

이 도구는 브라우저에서 JSON.parse()를 사용합니다. 입력이 JSON을 포함하는 문자열이면 다시 파싱합니다. 서버로 아무것도 전송되지 않습니다.

이 도구 사용 방법

1

문자열 붙여넣기

파싱하려는 문자열을 붙여넣으세요. 일반 JSON 문자열, 이스케이프된 JSON 문자열(예: 로그나 API에서), 또는 이중 인코딩된 값일 수 있습니다. 필요한 경우 샘플 또는 업로드를 사용하세요.

2

파싱된 출력 보기

오른쪽 패널에 파싱된 JSON이 표시됩니다. 입력이 JSON을 포함하는 문자열이었다면 도구가 다시 파싱합니다. 유효하지 않은 입력은 오류를 표시합니다. 출력은 가독성을 위해 형식이 지정됩니다.

3

복사, 다운로드 또는 축소

결과를 가져오려면 <strong>복사</strong>, <strong>다운로드</strong> 또는 <strong>축소</strong>를 사용하세요. 문자열의 이스케이프 또는 언이스케이프를 위해: JSON 이스케이프. 유효성 검사를 위해: JSON 유효성 검사기.

문자열을 JSON으로 예제

이스케이프되거나 문자열화된 JSON 파싱. 통신 테마 예제:

입력 (JSON 문자열)

입력

파싱된 출력

출력

이것이 필요한 경우

데이터베이스의 텍스트 열에 JSON으로 저장된 데이터는 이스케이프된 문자열로 반환되는 경우가 많습니다. JSON을 다른 JSON 문자열로 감싸는 API 응답은 이중 파싱이 필요합니다. JSON을 문자열로 덤프하는 로그도 마찬가지입니다. JSON 사양은 이스케이프된 JSON을 포함하는 문자열을 허용합니다; 해당 문자열을 파싱하면 내부 구조를 얻을 수 있습니다. 이 도구는 추가 파싱 단계를 자동화합니다.

Postman에서 API를 테스트하거나 DevTools에서 응답을 디버깅할 때 문자열화된 JSON 값을 받을 수 있습니다. JSON.parse() 문서는 파싱 규칙을 설명합니다. 공식 표준은 RFC 8259입니다. MDN JSON 가이드는 일반적인 함정을 다룹니다.

문자열의 문자(따옴표, 백슬래시 등)를 이스케이프 또는 언이스케이프하려면: JSON 이스케이프. 이미 파싱된 JSON을 형식화하려면: JSON 포매터.

자주 묻는 질문

입력이 이미 유효한 JSON인 경우는?

도구가 파싱하여 결과를 표시합니다. JSON을 포함하는 문자열이면 다시 파싱합니다. 따라서 {"a": 1}은 작동하고, "{\"a\": 1}"{"a": 1}을 얻기 위해 두 번 파싱됩니다.

몇 단계까지 파싱하나요?

결과가 문자열인 동안 계속 파싱합니다. 따라서 "\"{\\\"a\\\": 1}\""(삼중 인코딩)은 객체를 얻을 때까지 파싱됩니다. 실제로는 보통 2–3단계가 한계입니다.

데이터가 어딘가로 전송되나요?

아니요. 파싱은 브라우저에서 실행됩니다.

문자열의 유효하지 않은 JSON은?

파싱 오류가 발생합니다. 구문(후행 쉼표, 따옴표 없는 키 등)을 수정하고 다시 시도하세요. JSON 유효성 검사기가 문제를 식별하는 데 도움이 됩니다.

이중 인코딩된 JSON은 언제 발생하나요?

JSON이 데이터베이스 열에 문자열로 저장되거나, API가 값 중 하나가 문자열화된 JSON인 JSON 객체를 반환할 때입니다. 외부 JSON을 파싱하면 문자열을 얻고, 해당 문자열을 파싱하면 내부 JSON을 얻습니다.

관련 도구

JavaScript에서 JSON 파싱에 대해서는 MDN JSON.parseMDN JSON 가이드를 참조하세요. RFC 8259 사양이 JSON 구문을 정의합니다. json.org의 JSON 사양에서 문법을 확인할 수 있습니다. jqPostman도 참조하세요. 문자열 이스케이프를 위해: JSON 이스케이프.