파싱 (Parsing)
이 페이지는 바이브 코딩 문맥에서 자주 쓰이는 파싱 (Parsing)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
파싱(Parsing)은 입력된 글이나 데이터를 정해진 문법에 따라 분석해 프로그램이 다룰 수 있는 구조로 해석하는 과정입니다. 괄호와 구분자, 이름과 값의 관계를 읽어 어느 부분이 어떤 항목에 해당하는지 구분합니다. 웹 문서나 API 응답을 읽을 때 쓰이며, 문법에 맞게 읽었다는 사실과 데이터의 내용이 업무 규칙에 맞는지는 별도로 판단합니다.
문자열에서 구조를 읽는 과정
API에서 주문 정보를 받으면 처음에는 이름과 값이 적힌 문자열일 수 있습니다. 프로그램은 그 문자열의 어떤 부분이 주문 번호이고 어떤 부분이 상품 목록인지 알아야 다음 처리를 할 수 있습니다. JSON 형식이라면 중괄호와 대괄호, 따옴표 같은 문법 요소에 따라 객체와 배열, 값의 관계를 읽습니다. 이처럼 파싱은 눈에 보이는 문자를 순서대로 보관하는 데서 나아가 입력 안의 구조를 구별하는 과정입니다.
MDN의 파싱 용어 설명은 브라우저가 HTML을 DOM 트리로 만드는 사례를 제시합니다. 시작 태그와 끝 태그, 속성 이름과 값 등을 구별하고 문서 안의 계층 관계를 구성합니다. CSS도 별도의 구조로 해석해 화면을 그리는 데 사용합니다. 입력의 형식이 달라지면 문법과 만들어지는 구조도 달라지므로, 모든 파서가 같은 종류의 결과를 내는 것은 아닙니다.
파서는 이런 분석을 수행하는 프로그램이나 구성요소를 가리킵니다. 입력이 JSON인지 HTML인지에 따라 맞는 파서를 사용합니다. 같은 중괄호가 들어 있는 글이라도 JSON 규칙을 따르지 않으면 JSON 파서가 원하는 구조로 해석하지 못합니다. 파일 이름이나 겉모습만으로 형식을 판단하기보다, 실제 입력 내용이 어떤 문법으로 작성됐는지 확인하면 형식이 맞지 않아 생긴 오류를 찾는 데 도움이 됩니다.
JSON 파싱과 값 변환의 관계
MDN의 JSON.parse 안내는 JSON 문자열에서 JavaScript 값이나 객체를 만드는 메서드로 JSON.parse를 설명합니다. 결과는 객체만이 아니라 배열, 문자열, 숫자, 불리언이나 null일 수도 있습니다. 호출이 성공해도 결과에 특정 속성이 있다는 보장은 없습니다. 이후 처리에 필요한 결과 형태인지 확인하는 단계가 이어집니다.
JSON 안에 따옴표로 감싼 숫자 글자가 있으면 파싱 결과도 문자열입니다. 따옴표 없이 적은 숫자 값과 구분됩니다. 파싱 과정에서 문법에 맞는 자료형을 만드는 것과, 문자열로 들어온 수량을 계산용 숫자로 바꾸는 일은 서로 다른 처리입니다. 생년월일처럼 글자로 보관하는 값도 파싱 뒤에 자동으로 날짜 객체가 되는 것은 아닙니다. 애플리케이션이 기대하는 형식에 맞춰 별도의 해석이나 변환을 할 수 있습니다.
같은 MDN 문서는 파싱한 값을 반환하기 전에 변환하는 선택적 함수인 reviver를 설명합니다. 이 함수는 파싱으로 얻은 값을 순회하며 필요한 변환을 적용합니다. 다만 JSON 숫자는 이 단계에 앞서 JavaScript 숫자로 바뀌므로 큰 수의 정밀도가 이미 손실될 수 있습니다. 긴 식별자나 정밀한 수치가 오가는 경우에는 데이터를 보내는 쪽의 표현 방식과 받는 쪽의 자료형을 함께 정해야 원래 값을 보존할 수 있습니다.
문법 오류와 내용 검증의 차이
MDN의 잘못된 JSON 예시는 문법에 맞지 않는 문자열을 전달하면 SyntaxError가 발생한다고 설명합니다. JSON에서 객체나 배열의 마지막 항목 뒤에 쉼표를 붙이거나 문자열에 작은따옴표를 쓰는 경우가 해당합니다. JavaScript 코드에서 허용되는 표기라도 JSON 문법과는 다를 수 있습니다. 오류가 났다면 우선 실제로 받은 문자열과 JSON의 구분자·따옴표 규칙을 대조합니다.
문법이 올바른 주문 데이터에도 음수 수량이나 존재하지 않는 상품 번호가 들어갈 수 있습니다. 파서는 값을 읽어 구조를 만들지만, 그 주문을 받아도 되는지는 서비스의 규칙으로 판단합니다. 필수 항목의 존재, 값의 범위, 관련 데이터와의 일치 여부는 파싱 성공과 별개의 확인 대상입니다. 읽을 수 있는 데이터라는 사실을 바로 사용할 수 있는 데이터라는 판단으로 바꾸면 내용상의 오류를 놓치게 됩니다.
파싱과 실행도 구분됩니다. JSON을 파싱하면 입력을 JSON 데이터로 해석하며, 그 안의 문장을 프로그램 명령으로 실행하는 용도로 쓰지 않습니다. 이후 앱이 파싱한 값을 파일 경로나 화면 내용으로 사용하는 과정에는 별도의 처리 규칙이 적용됩니다. 문제가 발생했을 때 입력을 구조로 읽는 단계인지, 값을 변환하는 단계인지, 그 값을 사용한 작업인지 나누어 보면 수정할 위치를 좁힐 수 있습니다.
관련 용어
파싱 (Parsing)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
