JSON에서 JavaScript 객체 변환기
엄격한 JSON은 JSON.parse로 JavaScript 객체로 변환할 수 있습니다. JavaScript 객체 리터럴은 유효한 JSON이 되기 전에 한 번 정리 작업 이 필요합니다.
JavaScript에서 JSON 변환
입력이 이미 유효한 JSON이라면, 가장 안전한 변환기는 JSON.parse(jsonText)입니다. 코드를 실행하지 않고 평범한 JavaScript 객체, 배열, 문자열, 숫자, 불리언, null을 돌려줍니다.
JSON 입력
{ "name": "Ada", "active": true, "skills": ["math", "notes"] }
JavaScript 사용법
const user = JSON.parse(jsonText); console.log(user.name);
객체 리터럴 입력은 다르다
{ name: 'Ada', active: true } 같은 JavaScript 객체 리터럴은 JSON이 아닙니다. JSON.parse에 넘기기 전에, 따옴표 없는 키, 작은따옴표, 주석, 후행 콤마를 수리하세요.
eval을 피해야 할 때
알 수 없는 텍스트를 객체로 만들기 위해 eval을 사용하지 마세요. eval은 코드를 실행합니다. JSON.parse는 데이터만 파싱하므로 — API 페이로드, 설정, 로그, 붙여 넣은 예시에 엄격한 JSON이 더 안전합니다.
경계 사례: 날짜, undefined, 함수
JSON에는 Date, undefined, 함수 타입이 없습니다. 날짜는 ISO 문자열로 왕복하고, undefined는 stringify 시 사라지며, 함수는 표현조차 할 수 없습니다. JavaScript 객체에 이런 값이 있으면 변환된 JSON은 손실이 있는 스냅샷이 됩니다 — 필요하다면 JSON.parse의 reviver 함수로 타입을 명시적으로 복원하세요.
TypeScript와 추론된 타입
JSON.parse는 형태를 미리 알 수 없으므로 'any'를 반환합니다. 타입이 있는 접근을 원한다면, zod나 io-ts 같은 스키마 라이브러리로 검증한 뒤 JSON.parse(text) as User로 반환 타입을 선언하거나, JSON to TypeScript 도구로 샘플에서 인터페이스를 생성하세요.
반대 방향: 객체에서 JSON으로
JSON.stringify(value, null, 2)는 JavaScript 값에서 포매팅된 JSON을 만듭니다. undefined, 함수, Symbol 키는 조용히 버려지고, 순환 참조는 예외를 던집니다. 두 번째 인자로 replacer 함수를 넘기면 어떤 필드가 살아남을지 제어할 수 있어 — 객체를 보내기 전에 내부 정보를 정리하는 데 유용합니다.
JSON 수리 가이드
토픽 허브
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
구체적인 가이드
- Base64 문자열 디코드 방법 (그리고 JWT 페이로드)
- URL 인코딩: 쿼리 파라미터와 경로를 퍼센트 인코드하기
- YAML을 JSON으로 변환하기 (그리고 들여쓰기 오류 피하기)
- JSON을 CSV로 변환: 객체 배열을 펴기
- JSON을 XML로 변환: 루트, 속성, 배열
- JSON을 문자열 리터럴로 이스케이프하기 (그리고 이중 인코드된 JSON 디코드)
- JSON의 후행 쉼표 고치기
- JSON의 작은따옴표 고치기
- JSON의 따옴표 없는 키 고치기
- LLM이 만든 JSON 고치기
- JSON 파싱 오류 “Expected Property Name” 고치기
- JSON vs JavaScript 객체 리터럴
- API 요청 전에 JSON 검증하기
- JSON 포맷터 vs JSON Repair
- JSON Unexpected Token 오류 고치기