LLM의 JSON 출력 복구: AI의 '거의 JSON' 다루기
LLM은 흔히 ```json 펜스로 감싸인 JSON을, 작은따옴표, Python 리터럴, 따옴표 없는 키와 함께 반환합니다. 구문을 복구하고, 엄격하게 검증한 다음, 정리된 출력에서 TypeScript 타입을 도출하세요.
여기에 도착했다면
LLM이 JSON.parse가 거부하는 JSON을 반환했습니다. 가장 흔한 원인은 문서 전체를 감싸는 markdown 코드 펜스, 작은따옴표, 따옴표 없는 키, True/None 같은 Python 리터럴, 그리고 문자열화된 객체입니다. 구문을 복구한 다음, 결과를 앱에 넘기기 전에 엄격하게 검증하세요.
LLM 출력을 위한 복구 워크플로
먼저 복구를 실행하세요 —— 펜스, 작은따옴표, 따옴표 없는 키, Python 리터럴, 후행 쉼표를 허용합니다. 그다음 검증하여 정리된 텍스트가 왕복하는지 확인하세요. 정리된 트리를 사용해 타입을 도출하거나 앱에 공급하세요.
LLM의 JSON 출력 복구 (가이드)JSON의 따옴표 없는 키 수정JSON의 작은따옴표 수정JSON을 문자열 리터럴로 이스케이프JavaScript에서 깨진 JSON 복구JSON 온라인 복구 (전체 안내)
파싱되면 타입을 도출하기
LLM의 출력이 검증을 통과하면 TypeScript 인터페이스나 JSON Schema를 도출하여 다음 호출이 검증할 계약을 갖도록 하세요. 이것이 한 번 복구하는 것과 영원히 복구하는 것의 차이입니다.
JSON에서 TypeScript 인터페이스JSON에서 JavaScript 객체 변환기 (가이드)작은따옴표 vs JavaScript 객체 리터럴JSON의 잘못된 이스케이프 문자Unexpected end of JSON inputJSON.parse 소스 액세스: 무손실 숫자와 더 안전한 LLM 출력
표준에서 다가오는 것
LLM의 JSON 워크플로에 두 가지 다가오는 JavaScript 제안이 중요합니다: JSON.parse 소스 액세스(오류를 원본 텍스트와 값과 함께 읽기)와 JSON.parseImmutable. 이들은 모든 앱에 존재하는 맞춤 복구 코드의 양을 줄여 줍니다.
JSON.parse 소스 액세스 (Baseline 2025)심층 분석: 실무에서의 JSON.parse 소스 액세스JSON.parseImmutable (Stage 2)온라인 JSON 포매터 데이터 유출 —— 비밀을 붙여 넣지 마세요
권장 경로
LLM 출력을 붙여 넣고, 정리하고, 타입을 지정하세요.
-
- 도구: / —— AI 출력을 붙여 넣고 '복구 및 서식 지정' 클릭.
-
- 가이드: /guides/repair-llm-json-output —— 펜스, 따옴표, Python 리터럴 처리.
-
- 블로그: /blog/repair-broken-json-in-javascript —— 같은 워크플로를 코드로.
-
- 참고: /news/json-parse-source-access-baseline-2025 —— 다가오는 표준 지원.
JSON 수리 가이드
토픽 허브
구체적인 가이드
- 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 오류 고치기
- JSON에서 JavaScript 객체 변환기