RunToolz iconRunToolz
Welcome to RunToolz!
JSONAPI개발자 도구

정신 안 잃고 API 응답 읽기

API 응답이 왜 쓰레기처럼 보이는지, 실제로 어떻게 읽는지.

RunToolz Team2026년 1월 15일5 min read

API 엔드포인트를 쳐. 응답이 와. 이렇게 보여:

{"users":[{"id":1,"name":"John","email":"john@example.com","settings":{"notifications":true,"theme":"dark","language":"en"}},{"id":2,"name":"Jane","email":"jane@example.com","settings":{"notifications":false,"theme":"light","language":"es"}}],"meta":{"total":2,"page":1}}

필요한 그 하나의 필드를 찾아봐봐.

이게 API 디버깅의 90%야. 압축된 JSON, 줄바꿈 없이, 모든 게 함께 뭉쳐있어. 기술적으로 맞아. 읽을 수는 없지만.

그냥 포맷해

그 텍스트 벽을 가져다가 JSON 포매터에 붙여넣으면 갑자기:

{
  "users": [
    {
      "id": 1,
      "name": "John",
      "email": "john@example.com",
      "settings": {
        "notifications": true,
        "theme": "dark",
        "language": "en"
      }
    }
  ]
}

같은 데이터. 실제로 읽을 수 있어. 구조를 보고, 중첩된 필드를 찾고, 누락된 값을 발견할 수 있어.

직접 사용해 보시겠어요?JSON 포맷

흔한 디버깅 시나리오

"API가 에러를 반환하는데 왜인지 모르겠어"

에러 응답을 포맷해. 종종 정확히 뭐가 잘못됐는지 설명하는 중첩된 messagedetails 필드가 묻혀있어. 압축된 버전에선 그냥 볼 수 없었던 거야.

"두 응답을 비교해야 해"

둘 다 포맷하고 diff 도구 써. 압축된 JSON은 diff가 불가능해—줄바꿈이 달라서 모든 게 변경됐다고 보여.

"이게 유효한 JSON이야?"

포매터에 붙여넣어. 유효하지 않으면 문제를 가리키는 에러가 나와. 빠진 쉼표, 추가 괄호, 이스케이프 안 된 따옴표—포매터가 알려줄 거야.

JWT 작업하기

JWT (JSON Web Token)는 그냥 base64로 인코딩된 JSON이야. 이런 걸 볼 때:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ

암호화가 아니야. 그냥 인코딩. 디코딩하면 실제 페이로드가 보여—사용자 ID, 만료 시간, 권한, 토큰이 포함하는 뭐든.

인증 문제 디버깅에 유용해. "왜 403이 나와?" 토큰을 디코딩하고, 만료됐는지 확인하고, 클레임이 예상과 일치하는지 검증해.

직접 사용해 보시겠어요?JWT 디코딩

API 응답의 Base64

때때로 API가 base64로 인코딩된 데이터를 반환해. 파일 내용, 이미지, 암호화된 블롭. 실제로 안에 뭐가 있는지 봐야 하면 디코딩해.

흔한 곳:

  • 이메일 API (첨부파일이 base64로 인코딩돼 와)
  • 이미지 업로드 (data URI가 base64야)
  • 레거시 SOAP 서비스 (SOAP니까)

API 작업 팁

브라우저 개발자 도구 써. 네트워크 탭이 요청과 응답을 보여줘. 대부분의 브라우저가 자동으로 JSON 응답을 예쁘게 출력할 수 있어.

예제 응답 저장해. API가 올바르게 작동할 때 포맷된 사본을 저장해. 깨지면 작동하는 버전과 비교할 수 있어.

콘텐츠 타입 확인해. 때때로 JSON처럼 보이는 게 실제론 JSON을 포함하는 문자열이야. 두 번 파싱해야 할 수 있어.

인코딩 문제 주시해. 유니코드 문자가 문제를 일으킬 수 있어. \u0000 코드가 보이면 그건 이스케이프된 유니코드야—보통 괜찮지만 때때로 업스트림 인코딩 문제를 나타내.


API 디버깅은 대부분 데이터를 명확히 보는 거야. JSON을 포맷하고, 토큰을 디코딩하면 압축된 블롭을 들여다보는 시간이 줄어들어.