데이터 형식
JSON(JavaScript Object Notation)
JSON은 이름과 값, 목록 같은 데이터 구조를 텍스트로 표현해 프로그램끼리 주고받는 형식입니다.
쉬운 설명
AI가 “API 응답을 JSON으로 확인해 보세요”라고 하면 중괄호와 따옴표가 많은 텍스트를 보게 될 수 있어요. 그 안에는 신청 번호나 성공 여부처럼 프로그램이 사용할 값이 들어 있어요. JSON은 이런 데이터를 일정한 문법으로 적는 형식이에요. JavaScript Object Notation의 줄임말이지만 JavaScript 외의 언어에서도 널리 사용해요.
이런 상황에서 만나요
스터디 신청 페이지에서 완료 문구가 나오지 않아 AI에게 확인을 부탁했더니, 서버의 응답 내용을 보여 달라고 할 수 있어요. 아래는 신청 결과를 JSON으로 받은 가상 예시예요. 먼저 어떤 이름에 어떤 값이 들어 있는지 살펴봐요.
응답의 항목 이름과 값의 종류를 읽어요
{
"success": true,
"registrationId": "DEMO-001",
"sessions": [
"토요일 오전",
"일요일 오후"
]
}success: true는 참을 뜻하는 값
registrationId: "DEMO-001"은 문자열
sessions에는 두 개의 문자열이 들어 있음
대괄호 []는 순서가 있는 목록
- 1중괄호 안에서 이름과 값이 짝을 이뤄요. 이 예시는 표준 JSON 문법으로 작성했어요.
- 2따옴표가 있는 문자열과 따옴표 없는 true를 구분해요.
- 3하나의 값이 아니라 목록을 받은 것이므로, 화면에서도 목록에 맞게 읽어야 해요.
AI에게 “응답에는 success가 true인데 완료 화면이 안 나와. 화면 코드가 읽는 항목 이름과 값의 형식이 맞는지 확인해 줘”라고 전달할 수 있어요. JSON 문법 오류라면 오류 위치 주변의 따옴표·쉼표·괄호를 먼저 확인하세요. 실제 응답을 공유할 때는 계정 정보와 비밀값을 가려요.
헷갈리기 쉬운 점
true와 "true", 3과 "3"은 같은 값인가요?
달라요. 따옴표 없는 true는 참·거짓을 나타내는 값이고, "true"는 글자예요. 3은 숫자이고 "3"은 문자열이에요. 화면 코드나 API가 기대하는 자료형과 다르면 비교나 계산이 뜻대로 되지 않을 수 있어요.
표준 JSON에서는 항목 이름과 문자열에 큰따옴표를 쓰고, 마지막 항목 뒤에 쉼표를 붙이지 않아요. 주석도 허용하지 않아요. JSONC처럼 규칙을 확장한 형식과 구분해야 해요. 문법에 맞는 JSON이라도 앱이 요구하는 항목이 빠지면 사용할 수 없어요.
왜 알아야 할까요?
서버가 값을 잘못 보낸 것인지, 화면이 다른 이름이나 자료형으로 읽는 것인지 구분할 수 있어요. AI에게 응답과 기대한 결과를 함께 전달하면 수정할 부분을 좁히기 쉬워져요.
조금 더 자세히
중괄호로 묶은 객체는 항목 이름과 값의 쌍을 담습니다. 대괄호로 묶은 배열은 순서가 있는 값의 목록입니다. 객체 안에 배열을 넣거나 배열 안에 객체를 넣어 여러 신청자의 정보를 표현할 수도 있습니다.
JSON을 읽어 프로그램의 데이터로 바꾸는 일을 파싱이라고 합니다. 문법이 맞아 파싱에 성공하는 것과, 필수 항목이나 자료형이 앱의 요구에 맞는 것은 별개의 검사입니다. 성공 여부, 오류 메시지, 항목 이름은 API마다 다릅니다.
JSON 자체가 요청을 보내거나 데이터를 저장하지는 않습니다. HTTP 같은 방식으로 전달하거나 파일에 저장할 수 있는 데이터 표현 형식입니다. 파일 확장자가 .json인 설정 파일도 같은 문법을 사용하지만, 어떤 항목을 요구하는지는 해당 프로그램이 정합니다.
직접 사용할 때 확인해 보세요
- 항목 이름과 자료형이 읽는 코드와 맞는지 확인한다
- 문법 오류와 필수 항목 누락을 구분한다
- 실제 응답을 공유하기 전에 민감한 값을 가린다