JSON 문법 오류를 고치는 순서: 따옴표·쉼표·자료형 확인
먼저 알아둘 내용
오류가 나면 첫 오류 위치 주변의 큰따옴표, 마지막 쉼표, 괄호 짝부터 확인하세요. 정렬에 성공해도 API가 요구하는 필드와 자료형, 큰 정수의 정확성까지 검증한 것은 아닙니다.
적용 범위Tooliv의 표준 JSON 파싱·들여쓰기·공백 제거·키 정렬 기능을 기준으로 합니다. JSONC·JSON5, JSON Schema 검증, 임의 정밀도 숫자 처리를 제공하지 않습니다.
바로 적용하기
이 글의 목차 5
첫 오류를 고친 뒤 다시 검사하세요
괄호 하나나 따옴표 하나가 빠지면 실제 원인보다 뒤쪽에서 오류가 발견될 수 있습니다. 표시된 위치만 지우지 말고 바로 앞의 키·값과 구분자를 함께 확인하세요. 한 번에 여러 부분을 바꾸기보다 첫 문제를 고친 다음 다시 정렬하면 원인을 추적하기 쉽습니다.
| 입력 예 | 문제 | 수정 예 |
|---|---|---|
{name: '민수'} | 키와 문자열에 JSON의 큰따옴표가 없음 | {"name":"민수"} |
{"age":30,} | 마지막 속성 뒤의 쉼표 | {"age":30} |
{"active":True} | 불리언 표기 | {"active":true} |
{"memo":undefined} | JSON에 없는 값 | 목적에 맞게 null 또는 속성 제거 |
표준 JSON은 문자열 키, 정해진 값 형식, 구분 문법을 사용합니다. JavaScript 객체 문법이나 설정 파일의 주석 문법과 같지 않습니다. 규칙은 RFC 8259에 정의되어 있습니다. Tooliv에는 주석·후행 쉼표를 허용하는 JSONC·JSON5 모드가 없습니다.
줄바꿈은 문자열 안과 밖을 구분하세요
보기 좋게 들여쓰기한 줄바꿈은 문법상 허용되는 위치에서 사용할 수 있지만, 문자열 내부의 줄바꿈은 이스케이프해야 합니다. 다음은 유효한 JSON 예시입니다.
{
"name": "민수",
"active": true,
"memo": "첫 줄\n다음 줄"
}
여기서 \n은 메모 안의 줄바꿈을 표현합니다. 큰따옴표 자체가 값에 필요하면 \", 역슬래시는 \\로 표현해야 합니다. 복사 과정에서 일반 큰따옴표가 문서 편집기의 굽은 따옴표로 바뀌었는지도 확인하세요.
정렬과 압축은 무엇을 바꾸나요?
Tooliv는 입력을 JSON.parse로 읽은 뒤 JSON.stringify로 다시 출력합니다. 들여쓰기는 2칸·4칸·탭으로 선택할 수 있고, 압축은 불필요한 문법 공백을 줄여 한 줄로 표현합니다. 문자열 값 안의 의미 있는 공백을 없애는 기능은 아닙니다. 출력 방식은 MDN의 JSON.stringify 설명을 참고할 수 있습니다.
키 정렬은 객체 키를 읽기 쉬운 순서로 바꾸는 옵션입니다. 배열의 항목 순서까지 정렬하는 기능이 아니며, 정렬 결과를 전자서명 등에 쓰는 표준 정규화 형식으로 간주해서도 안 됩니다. 비교 목적으로 사용할 때는 두 문서에 같은 옵션을 적용하세요.
문법이 맞아도 원본 값이 달라질 수 있습니다
큰 정수를 JavaScript 숫자로 읽으면 정확성이 손실될 수 있습니다. 예를 들어 다음 입력의 숫자는 일반적인 JSON.parse 후 다시 출력하면 9007199254740992로 바뀝니다.
{"id":9007199254740993}
이 동작은 JavaScript 런타임에서 확인할 수 있으며 MDN도 파싱 시 숫자 정밀도 손실을 설명합니다. 계산하지 않는 긴 식별자라면 원본 시스템에서 {"id":"9007199254740993"}처럼 문자열로 내보내는 것이 좋습니다. 이미 반올림된 결과에 따옴표를 붙여도 원래 숫자는 복구되지 않습니다.
중복 키도 확인하세요. {"mode":"test","mode":"live"}를 이 도구에서 읽으면 마지막 mode 값이 남습니다. 문법 오류가 안 난다고 두 값을 모두 보존했다는 뜻은 아닙니다. RFC 8259는 객체의 이름이 고유해야 상호 운용이 쉬움을 설명합니다.
API 전송 전에는 필드 규칙까지 확인하세요
{"age":"30"}은 문법상 유효해도 서버가 age를 숫자로 요구하면 거절될 수 있습니다. 필수 항목, 값의 범위, 허용된 문자열은 별도 규칙입니다. 이러한 제약을 명시하는 방법은 JSON Schema의 객체 검증 안내에 나옵니다.
먼저 JSON 포매터에서 문법과 읽기 쉬운 구조를 확인한 뒤, 실제 API 명세와 필드·자료형을 대조하세요. 오류가 없어졌다는 표시와 전송 가능한 데이터라는 판단을 구분하는 것이 핵심입니다.
내 조건으로 직접 확인해 보세요
읽은 내용을 필요한 도구에 적용해 보세요.
출처와 확인 기준
아래 자료와 도구의 현재 동작을 기준으로 작성했습니다. 제도·제품별 조건은 연결된 공식 안내에서 다시 확인하세요.