개발 가이드

JSON 기초와 자주 나는 문법 오류

JSON의 기본 구조와 데이터 타입, 주석·후행 쉼표·작은따옴표처럼 자주 저지르는 문법 오류, 정렬과 압축을 언제 쓰는지 예시로 정리했습니다.

API 응답이나 설정 파일을 다루다 보면 JSON을 마주치게 됩니다. 형식은 단순하지만, 쉼표 하나나 따옴표 하나 때문에 전체가 오류로 처리되는 까다로운 면도 있습니다. 이 글에서는 JSON의 기본 구조와, 초보자가 자주 저지르는 문법 실수를 정리합니다.

JSON이란

JSON(JavaScript Object Notation)은 데이터를 사람이 읽을 수 있는 텍스트로 표현하는 형식입니다. 시스템 간에 데이터를 주고받을 때 널리 쓰이며, 두 가지 기본 구조로 이뤄집니다. 하나는 객체로, 중괄호 {} 안에 "키: 값" 쌍을 담습니다. 다른 하나는 배열로, 대괄호 [] 안에 값을 나열합니다.

간단한 예는 이렇습니다.

{
  "name": "워크툴즈",
  "free": true,
  "tools": 18
}

여기서 name, free, tools는 키이고, 그 뒤가 값입니다.

JSON이 다루는 값의 종류

JSON의 값은 정해진 몇 가지 타입만 허용됩니다. 문자열(큰따옴표로 감싼 텍스트), 숫자(따옴표 없이), 참·거짓을 뜻하는 true/false, 값이 없음을 뜻하는 null, 그리고 객체와 배열입니다. 이 규칙을 벗어나면 유효하지 않은 JSON이 됩니다.

자주 나는 문법 오류 세 가지

표준 JSON은 생각보다 엄격합니다. JavaScript 코드에서는 허용되는 표기가 JSON에서는 오류가 되는 경우가 많아 혼동하기 쉽습니다.

주석. JSON에는 주석이 없습니다. // 설명이나 /* 설명 */을 넣으면 오류입니다. 설정 파일에 메모를 남기고 싶어도 표준 JSON에서는 불가능합니다.

후행 쉼표. 마지막 항목 뒤에 쉼표를 남기면 오류입니다. {"a": 1, "b": 2,}처럼 2 뒤의 쉼표가 문제입니다. 항목을 지우다가 쉼표를 남겨 두는 실수가 흔합니다.

작은따옴표. 문자열과 키는 반드시 큰따옴표(")로 감싸야 합니다. 'name'처럼 작은따옴표를 쓰면 오류입니다. 키에 따옴표를 아예 빼는 것도 안 됩니다.

JSON 정리기는 붙여 넣은 JSON의 문법을 검사해, 이런 오류가 있으면 위치와 함께 안내합니다. 키 순서와 값의 의미는 바꾸지 않으므로 안심하고 검사할 수 있습니다.

정렬과 압축은 언제 쓰나

JSON은 같은 데이터라도 두 가지 형태로 표현할 수 있습니다.

정렬(들여쓰기) 은 계층 구조를 눈에 보이게 펼쳐, 사람이 읽고 수정하기 좋게 만듭니다. 복잡한 중첩 객체를 파악하거나 설정 파일을 손볼 때 유용합니다. 압축(한 줄) 은 공백을 모두 제거해 크기를 줄입니다. 로그에 기록하거나 네트워크로 전송할 때, 또는 한 줄로 저장해야 할 때 씁니다. JSON 정리기는 이 둘을 선택해 서로 변환할 수 있습니다.

안전하게 다루기

JSON에는 종종 비밀번호, 인증 토큰, 개인정보가 담깁니다. 이런 내용이 포함된 JSON은 정렬 결과를 공유하거나 외부에 붙여 넣지 않도록 주의해야 합니다. JSON 정리기는 브라우저 안에서만 파싱하므로 데이터가 서버로 전송되지 않지만, 정리한 결과를 다른 곳에 옮길 때는 민감한 값이 노출되지 않는지 확인하는 습관이 필요합니다.

자주 묻는 질문

Q. JSON에 주석을 달 수 있나요? 표준 JSON은 주석을 허용하지 않습니다. 주석이 필요하면 별도 설명 필드를 만들거나 다른 형식을 고려하세요.

Q. 마지막 항목 뒤 쉼표는 왜 오류인가요? 표준 JSON 문법이 후행 쉼표를 허용하지 않기 때문입니다. 마지막 값 뒤의 쉼표를 지우면 해결됩니다.

Q. 데이터가 외부로 전송되나요? 아니요. 파싱과 정렬은 브라우저 안에서만 실행됩니다.

Q. 키 순서가 바뀌나요? 아니요. 정리기는 키 순서와 값의 의미를 그대로 유지합니다.


민감한 정보가 담긴 JSON은 결과를 외부에 공유하지 않도록 주의하세요.