Kitfolio
블로그KOEN

JSON이란 무엇인가 | 비개발자도 이해하는 데이터 형식

JSON이 무엇이고 왜 어디에나 쓰이는지, 기본 구조와 규칙, 흔한 문법 오류, 그리고 포맷팅과 유효성 검사가 왜 필요한지 개발자가 아니어도 이해할 수 있게 정리했습니다.

JSON 데이터 구조를 나타낸 대표 이미지

API 응답을 열어봤거나, 설정 파일을 만진 적이 있다면 중괄호로 가득한 텍스트를 본 적이 있을 겁니다. 그게 바로 JSON입니다. 개발자가 아니어도 로그를 확인하거나 데이터를 다루다 보면 마주치게 되는데, 구조만 알면 생각보다 읽기 쉽습니다.

JSON은 '데이터를 적는 공통 문법'

JSON(JavaScript Object Notation)은 데이터를 사람도 읽을 수 있는 텍스트로 표현하는 형식입니다. 프로그램끼리 데이터를 주고받을 때 "이런 형식으로 적자"고 약속한 공통 언어라고 보면 됩니다. 웹 API, 설정 파일, 앱 사이의 통신 등 거의 모든 곳에서 표준처럼 쓰입니다.

기본 재료는 두 가지입니다.

  • 객체(object): 중괄호 { } 안에 "이름: 값" 쌍을 담습니다. 하나의 사물을 설명합니다.
  • 배열(array): 대괄호 [ ] 안에 값을 순서대로 나열합니다. 같은 종류가 여러 개일 때 씁니다.

예를 들어 사용자 한 명은 이렇게 표현됩니다.

{
  "name": "지민",
  "age": 29,
  "active": true,
  "roles": ["editor", "reviewer"]
}

이름("name")에 값("지민")이 붙고, 나이는 숫자, 활성 여부는 참/거짓, 역할은 배열로 여러 개를 담았습니다. 값의 종류는 문자열·숫자·참거짓(boolean)·null·객체·배열 여섯 가지뿐이라 규칙이 단순합니다.

파서가 멈추는 흔한 실수

JSON은 규칙이 엄격합니다. 사람 눈에는 사소해 보여도 아래 같은 실수가 있으면 프로그램은 그 자리에서 읽기를 멈춥니다.

  • 마지막 쉼표(trailing comma): 배열이나 객체의 마지막 항목 뒤에 쉼표를 남기면 안 됩니다.
  • 작은따옴표: 문자열과 키는 반드시 큰따옴표 "로 감싸야 합니다. 작은따옴표 '는 허용되지 않습니다.
  • 키에 따옴표 없음: { name: "지민" }은 틀리고 { "name": "지민" }이 맞습니다.
  • 주석: JSON에는 원칙적으로 주석(//)을 넣을 수 없습니다.

이런 실수는 긴 데이터 안에서 눈으로 찾기 어렵습니다. 그래서 포맷터가 오류의 줄과 열 위치를 짚어주는 것이 큰 도움이 됩니다.

포맷팅과 유효성 검사는 다르다

실무에서 마주치는 JSON은 한 줄로 길게 압축돼 있는 경우가 많습니다. 이때 두 가지 작업이 필요합니다.

포맷팅은 보기 좋게 정리하는 것이고, 유효성 검사는 문법이 올바른지 확인하는 것입니다.

포맷팅은 계층에 맞춰 들여쓰기를 넣고 색으로 구분해 구조를 한눈에 보이게 합니다. 유효성 검사는 위에서 말한 문법 오류가 없는지 확인합니다. 반대로 데이터 용량을 줄여야 할 때는 공백을 모두 제거해 한 줄로 만드는 압축(minify)을 씁니다.

민감한 데이터라면 브라우저에서

JSON에는 토큰, 개인정보, 내부 식별자 같은 민감한 값이 담기는 경우가 많습니다. 온라인 도구 중에는 입력을 서버로 보내 처리하는 곳도 있어, 무심코 붙여넣은 데이터가 외부에 남을 수 있습니다. 처리 과정이 전부 브라우저 안에서 이루어지는 도구를 쓰면 이런 걱정이 없습니다.

JSON을 정리하거나 오류를 찾아야 한다면 JSON 포매터에 붙여넣어 보세요. 들여쓰기·색상 강조와 함께 문법 오류의 위치를 짚어주고, 한 줄 압축도 지원하며, 입력한 내용은 서버로 전송되지 않습니다.

관련 도구

{ }JSON FormatterJSON 포매터tsSlack Timestamp Converter슬랙 타임스탬프 변환기