LLM의 JSON 출력 복구: AI의 '거의 JSON' 다루기

LLM은 흔히 ```json 펜스로 감싸인 JSON을, 작은따옴표, Python 리터럴, 따옴표 없는 키와 함께 반환합니다. 구문을 복구하고, 엄격하게 검증한 다음, 정리된 출력에서 TypeScript 타입을 도출하세요.

여기에 도착했다면

LLM이 JSON.parse가 거부하는 JSON을 반환했습니다. 가장 흔한 원인은 문서 전체를 감싸는 markdown 코드 펜스, 작은따옴표, 따옴표 없는 키, True/None 같은 Python 리터럴, 그리고 문자열화된 객체입니다. 구문을 복구한 다음, 결과를 앱에 넘기기 전에 엄격하게 검증하세요.

LLM 출력을 위한 복구 워크플로

먼저 복구를 실행하세요 —— 펜스, 작은따옴표, 따옴표 없는 키, Python 리터럴, 후행 쉼표를 허용합니다. 그다음 검증하여 정리된 텍스트가 왕복하는지 확인하세요. 정리된 트리를 사용해 타입을 도출하거나 앱에 공급하세요.

파싱되면 타입을 도출하기

LLM의 출력이 검증을 통과하면 TypeScript 인터페이스나 JSON Schema를 도출하여 다음 호출이 검증할 계약을 갖도록 하세요. 이것이 한 번 복구하는 것과 영원히 복구하는 것의 차이입니다.

표준에서 다가오는 것

LLM의 JSON 워크플로에 두 가지 다가오는 JavaScript 제안이 중요합니다: JSON.parse 소스 액세스(오류를 원본 텍스트와 값과 함께 읽기)와 JSON.parseImmutable. 이들은 모든 앱에 존재하는 맞춤 복구 코드의 양을 줄여 줍니다.

권장 경로

LLM 출력을 붙여 넣고, 정리하고, 타입을 지정하세요.

    1. 도구: / —— AI 출력을 붙여 넣고 '복구 및 서식 지정' 클릭.
    1. 가이드: /guides/repair-llm-json-output —— 펜스, 따옴표, Python 리터럴 처리.
    1. 블로그: /blog/repair-broken-json-in-javascript —— 같은 워크플로를 코드로.
    1. 참고: /news/json-parse-source-access-baseline-2025 —— 다가오는 표준 지원.