데이터·개발

JSON 오류 위치 찾기와 수정, 정렬하는 방법

파서가 읽지 못하는 대표적인 JSON 실수(따옴표·쉼표·주석·True/False)를 찾고 고치는 방법과 정렬·압축·트리 보기 사용법을 설명합니다.

게시일:

예시: 읽히지 않는 설정 파일

얼핏 보면 괜찮아 보이지만, 모든 JSON 파서가 오류를 냅니다.

{
  'name': "남산서울타워",
  "height_m": 236,
  "open": True,
  "tags": ["전망대", "관광",],
  // 1980년 개방
}

오류를 하나씩 찾기

  1. JSON 정렬을 열고 입력(JSON) 에 붙여 넣습니다.
  2. 문법 검사만(또는 정렬하기)을 누릅니다. 첫 번째 오류에서 멈추고 줄·열 번호와 오류 위치를 보여 줍니다.
  3. 그 한 곳을 고치고 다시 검사합니다. 올바른 JSON입니다. 가 나올 때까지 반복합니다.

이 예시에서는 다음 순서로 오류가 나옵니다.

줄 내용(요약) 고치는 법
2 문자열과 키는 큰따옴표로 감싸야 함 'name' → "name"
4 True 는 JSON 값이 아님(소문자 사용) True → true
5 닫는 괄호 앞의 불필요한 쉼표 "관광" 뒤의 , 삭제
6 JSON에는 주석을 쓸 수 없음 주석 줄 삭제
5 불필요한 쉼표(주석을 지우면 "tags" 가 마지막 항목이 됨) ] 뒤의 , 삭제

고친 JSON:

{
  "name": "남산서울타워",
  "height_m": 236,
  "open": true,
  "tags": ["전망대", "관광"]
}

자주 있는 원인

  • 작은따옴표: JSON의 문자열과 키는 "큰따옴표" 만 씁니다.
  • 끝의 쉼표: JavaScript에서는 되지만 JSON에서는 안 됩니다.
  • 주석: // 나 /* */ 는 JSON 문법에 없습니다. 메모가 필요하면 "note" 같은 항목으로 넣으세요.
  • Python·JavaScript 값: True, False, None, undefined, NaN 은 JSON이 아닙니다. true, false, null 을 씁니다.
  • 문자열 안의 줄바꿈·탭: 문자열 안에서는 \n, \t 로 써야 합니다.
  • 중간에 잘림: “JSON이 중간에 끝났습니다”는 대부분 } 나 ] 가 빠진 경우입니다. API 응답을 일부만 복사했을 때 자주 생깁니다.

정렬·압축·트리 보기

  • 정렬하기: 줄바꿈과 들여쓰기(들여쓰기 에서 공백 2·4칸 또는 탭)를 넣어 구조를 읽기 쉽게 합니다.
  • 한 줄로 압축: 불필요한 공백을 모두 빼서 가장 짧은 한 줄로 만듭니다. URL 파라미터나 환경 변수에 넣을 때 편합니다.
  • 트리 보기: 객체와 배열을 접고 펼 수 있게 보여 줍니다. 모두 펼치기·모두 접기 로 깊게 중첩된 API 응답도 쉽게 살필 수 있습니다.

문법은 맞지만 주의할 것

  • 큰 숫자: {"id": 12345678901234567890} 은 올바른 JSON이지만, JavaScript의 JSON.parse 로 읽으면 12345678901234567000 으로 바뀝니다. 이 도구는 숫자를 적힌 그대로 유지하므로 ID가 몰래 바뀌지 않습니다. 직접 만든 프로그램에서 큰 ID가 정확해야 한다면 문자열로 다루는 편이 안전합니다.
  • 중복 키: {"a": 1, "a": 2} 는 대부분의 파서가 받아들이고 마지막 값만 남깁니다. 이 도구는 경고와 함께 중복 위치를 목록으로 보여 줍니다.

함께 하면 좋은 작업

  • 객체 배열을 스프레드시트로 열려면 JSON·CSV 변환.
  • 두 JSON의 차이를 보려면 텍스트 비교. 먼저 둘 다 정렬해 두면 차이가 잘 맞춰집니다.

← 사용 가이드 목록