포매터가 왜 반응하지 않을까

JSON 포매터가 반응하지 않는 것은 보통 도구 고장이 아니라 입력 내용에 문법 오류가 있기 때문입니다. 포매터는 먼저 JSON을 파싱한 뒤 출력을 예쁘게 만들어야 하므로 파싱이 통과되지 않으면 아무 결과도 나오지 않습니다. 가장 흔한 오류로는 후행 쉼표, 작은따옴표, 따옴표 없는 키, 주석, 그리고 다른 곳에서 붙여넣을 때 들어온 보이지 않는 문자가 있습니다. 수정할 때는 오류 줄 번호를 따라 단계적으로 확인하고, 표시된 줄을 먼저 본 뒤 위 줄도 확인하며, 의심되는 줄을 직접 다시 입력해 숨은 문자를 제거하세요. 포맷과 검증은 목적이 다릅니다. 포맷은 읽기용이고, 검증은 유효성 확인용입니다. 브라우저 도구는 파일이 클 때 버벅이기 쉬우므로 아주 큰 파일은 명령줄이나 데스크톱 도구를 사용하는 것이 좋습니다.

· · 21분 · 4 조회 · 13개 섹션
목차
  1. 포매터가 왜 반응하지 않을까
  2. 가장 흔한 JSON 문법 오류
  3. 후행 쉼표
  4. 작은따옴표를 큰따옴표 대신 사용
  5. 키에 따옴표가 없음
  6. 주석
  7. 보이지 않는 문자와 곱은따옴표
  8. 유효하지 않은 JSON을 수정하는 단계별 방법
  9. 포매터와 검증 도구의 차이
  10. 브라우저에서 JSON 포맷하기
  11. API 디버깅을 위해 JSON 포맷하기
  12. 포맷과 검증을 위한 실용적인 조언
  13. 자주 묻는 질문

JSON 포매터가 반응하지 않으면 어떻게 해야 할까? 유효하지 않은 JSON 오류 원인과 수정 방법

JSON을 포매터에 붙여넣었는데 반응이 없거나 빨간 오류가 뜬다면, 대부분의 경우 도구가 고장 난 것이 아니라 입력한 JSON 자체에 문법 오류가 있는 것입니다. 포매터의 작업 흐름은 먼저 파싱하고 그다음 예쁘게 만드는 것입니다. 파싱 단계는 매우 엄격해서 단 하나의 문자라도 규칙에 맞지 않으면 전체 문서가 검증을 통과하지 못하고, 도구는 당연히 아무것도 출력하지 않습니다. 따라서 반응이 없을 때 첫 번째로 해야 할 일은 도구를 바꾸는 것이 아니라 JSON 문법을 확인하는 것입니다.

포매터가 왜 반응하지 않을까

포매터와 검증 도구의 핵심 메커니즘은 같습니다. 텍스트를 읽고, JSON 규칙에 따라 파싱하고, 유효하다고 확인한 뒤에 서식을 정리합니다. 파싱이 실패하면 도구는 출력할 내용이 없으므로 반응이 없거나 바로 오류를 냅니다.

JSON의 문법 규칙은 JavaScript 객체 리터럴보다 훨씬 엄격합니다. JS를 작성할 때 익숙한 방식, 예를 들어 후행 쉼표, 작은따옴표, 따옴표 없는 키는 JSON에서는 모두 허용되지 않습니다. 채팅 도구, PDF, 워드프로세서에서 복사한 텍스트에는 눈에 보이지 않는 특수 문자가 섞여 있을 수 있으며, 이것도 파싱 실패를 일으킵니다.

가장 흔한 JSON 문법 오류

아래 몇 가지 문제만 파악하면 대부분의 깨진 데이터를 1분 안에 고칠 수 있습니다.

후행 쉼표

객체나 배열의 마지막 항목 뒤에 쉼표를 하나 더 붙이는 것은 JavaScript에서는 유효하지만 JSON에서는 유효하지 않습니다. 이것이 포매터가 반응하지 않는 가장 흔한 원인입니다.

{"name": "Ada", "role": "engineer",}는 실패하고, {"name": "Ada", "role": "engineer"}라야 통과합니다.

작은따옴표를 큰따옴표 대신 사용

JSON은 모든 키와 모든 문자열 값이 큰따옴표로 감싸져야 합니다. 많은 프로그래밍 언어가 작은따옴표를 허용하더라도 JSON에서는 유효하지 않습니다.

키에 따옴표가 없음

키는 반드시 문자열이어야 합니다. {name: "Ada"}는 유효하지 않고, {"name": "Ada"}가 올바릅니다.

주석

JSON은 // 또는 / / 주석을 지원하지 않습니다. 주석이 있는 설정 파일을 복사했다면 먼저 주석을 삭제한 뒤 포맷하세요.

보이지 않는 문자와 곱은따옴표

워드프로세서, 채팅 도구 또는 PDF에서 붙여넣은 텍스트에는 곱은따옴표, 줄 바꿈 없는 공백 또는 바이트 순서 표시가 섞여 있을 수 있습니다. 이런 문자는 화면에서 일반 문자와 똑같아 보이지만 파서를 바로 실패하게 만듭니다.

  • 곱은따옴표: ""가 아니라 "
  • 일반 공백이 아니라 줄 바꿈 없는 공백
  • 파일 맨 앞에 있는 바이트 순서 표시

오류가 가리키는 줄이 완전히 정상으로 보인다면 보이지 않는 문자가 원인일 가능성을 의심해야 합니다. 그 줄을 직접 다시 입력한 뒤 다시 시도하세요.

유효하지 않은 JSON을 수정하는 단계별 방법

아래 단계를 순서대로 진행하세요. 대부분의 데이터는 3단계에서 고쳐집니다.

  1. 전체 텍스트를 포매터에 붙여넣으세요. 먼저 잘라내지 마세요. 오류 위치는 전체 문서를 기준으로 하므로 텍스트를 자르면 모든 줄 번호가 어긋납니다.
  2. 오류 메시지를 자세히 읽으세요. 줄 번호와 문자 위치를 기록하세요. 도구가 위치를 알려주지 않으면 알려주는 도구로 바꾸세요.
  3. 오류가 난 줄을 확인하고 흔한 원인을 찾으세요. 후행 쉼표, 작은따옴표 또는 따옴표 없는 키가 있는지 보세요.
  4. 그 줄이 문제없어 보이면 바로 위 줄을 확인하세요. 이전 줄 끝에 쉼표가 빠진 경우 다음 줄에서 보고되는 일이 많습니다.
  5. 표시된 줄을 직접 다시 입력하세요. 이렇게 하면 복사 붙여넣기로 들어온 보이지 않는 문자를 제거할 수 있습니다.
  6. 포맷을 다시 실행하세요. 그래도 실패하면 2~5단계를 반복하세요. 수정할 때마다 오류 위치가 뒤로 이동하며 문서가 완전히 유효해질 때까지 진행됩니다.

이 단계를 모두 거쳐도 실패한다면 문제는 문법이 아니라 파일 크기일 수 있습니다. 브라우저 도구는 보통 몇 메가바이트 정도부터 느려지는데, 전체 문서를 한 번에 메모리에 올려야 하기 때문입니다. 아주 큰 파일은 명령줄 도구나 데스크톱 소프트웨어를 사용하는 것이 좋습니다.

포매터와 검증 도구의 차이

포매터는 유효한 JSON을 들여쓰기와 줄 바꿈이 있는 버전으로 다시 작성해 읽기 쉽게 만듭니다. 검증 도구는 JSON이 문법적으로 올바른지만 확인하고 오류를 보고합니다. 많은 도구가 두 가지를 한 번에 수행합니다. 먼저 검증하고, 통과하면 포맷합니다.

이 순서는 중요합니다. 예 또는 아니오 답이 필요할 때, 예를 들어 빌드 단계나 코드 리뷰에서는 검증 도구를 사용하세요. 사람이 데이터를 읽어야 할 때는 포매터를 사용하세요.

실제 사용에서 이 차이는 작업 흐름을 거의 바꾸지 않습니다. JSON이 유효하지 않으면 두 도구 모두 결과를 내지 못하므로 어쨌든 문법을 먼저 고쳐야 합니다. 정말 유용한 질문은 도구가 문제가 있는지 없는지만 알려주는가가 아니라, 문제가 어디에 있는지 알려주는가입니다. 좋은 오류 메시지에는 줄 번호와 문자 위치가 포함됩니다.

브라우저에서 JSON 포맷하기

JSON을 입력 패널에 붙여넣으면 도구가 이를 파싱하고 같은 탭에서 들여쓰기된 출력을 반환합니다. 데이터는 서버로 업로드되지 않고 전 과정이 여러분의 컴퓨터에 남습니다. 이후 결과를 복사하거나 파일로 다운로드할 수 있습니다.

아무것도 설치하지 않고 브라우저에서 JSON을 포맷하고 싶다면 답은 간단합니다. 모든 최신 브라우저에서 가능합니다. 파싱은 여러분의 기기에서 JavaScript로 수행됩니다. 따라서 브라우저 도구는 내부 설정과 예제 데이터를 다루기에 합리적인 선택입니다.

API 디버깅을 위해 JSON 포맷하기

원시 API 응답을 직접 읽는 것은 매우 고통스럽습니다. 대부분의 서버는 공백 없이 한 줄로 압축된 JSON을 반환합니다. 포맷하면 이 한 줄이 훑어볼 수 있는 구조로 바뀝니다.

API 디버깅을 위해 JSON을 포맷할 때는 세 가지를 봅니다.

  1. 중첩 깊이. 너무 깊게 중첩된 객체는 응답 구조가 예상과 다르다는 신호인 경우가 많습니다.
  2. 널 값. 데이터를 담아야 할 필드가 null을 반환하면 보통 서버 측 문제를 가리킵니다.
  3. 타입 불일치. 숫자가 42가 아니라 "42"처럼 문자열로 반환되면 다운스트림 비교 로직이 깨질 수 있습니다.

포맷된 보기는 이 세 가지를 한눈에 보이게 합니다. 브라우저의 네트워크 패널과 함께 사용하세요. 응답 본문을 복사해 포매터에 붙여넣고, 코드를 작성하기 전에 구조를 먼저 이해하세요.

실용적인 조언 하나: 디버거에서 검사하기 전에 응답을 먼저 포맷하세요. 압축된 데이터를 단계별로 디버깅하는 것은 시간 낭비입니다.

포맷과 검증을 위한 실용적인 조언

  • JSON을 버전 관리에 커밋하기 전에 검증하세요. 그래야 후행 쉼표 하나 때문에 빌드 단계가 실패하지 않습니다.
  • 설정을 읽거나 검토할 때는 포맷하세요. 들여쓰기가 계층 관계를 한눈에 보여줍니다.
  • 포맷은 데이터의 의미를 바꾸지 않는다는 점을 기억하세요. 공백과 줄 바꿈만 바꿉니다. 포맷 후 어떤 값이 이상해 보인다면 그것은 데이터 자체의 문제이지 도구의 문제가 아닙니다.
  • JSON이 유효한지 빠르게 확인만 하고 싶다면 전체 출력을 먼저 생성할 필요 없이 검증 도구만으로 충분합니다.

자주 묻는 질문

왜 제 JSON 포매터는 아무것도 표시하지 않나요?

파싱이 실패해서 도구가 출력할 내용이 없기 때문입니다. 후행 쉼표, 작은따옴표, 따옴표 없는 키, 그리고 다른 곳에서 붙여넣을 때 들어온 보이지 않는 문자를 확인하세요.

포매터가 유효하지 않은 JSON을 고칠 수 있나요?

아니요. 포매터는 유효한 입력에 대해서만 서식을 정리합니다. 문법 오류는 여러분이나 검증 도구가 먼저 고쳐야 합니다.

왜 오류가 가리키는 줄이 완전히 정상으로 보이나요?

문제는 이전 줄에 있을 가능성이 큽니다. 예를 들어 쉼표가 빠졌거나 그 줄에 보이지 않는 문자가 숨어 있을 수 있습니다. 그 줄을 직접 다시 입력하면 보통 해결됩니다.

브라우저 도구는 얼마나 큰 파일을 처리할 수 있나요?

통일된 상한은 없지만 전체 문서를 한 번에 메모리에 올려야 하므로 파일이 클수록 버벅이기 쉽습니다. 아주 큰 파일은 명령줄이나 데스크톱 도구를 쓰는 편이 더 안정적입니다.

포맷이 제 데이터를 바꾸나요?

아니요. 포맷은 공백과 줄 바꿈만 조정하고 어떤 키나 값도 바꾸지 않습니다. 하지만 숫자가 문자열로 쓰인 것 같은 타입 오류를 찾아주지는 않으므로 직접 확인해야 합니다.

4 조회 ·

더 많은 온라인 도구 살펴보기

무료 텍스트 처리, PDF 도구, AI 글쓰기 등