데이터 구조부터 살펴보기

JSON은 객체, 배열, 문자열, 숫자, 불리언, null을 표현합니다. CSV는 필드와 레코드로 이루어진 표이며 같은 내장 자료형 체계를 제공하지 않습니다. 일정한 행과 열이 목적이라면 CSV를 사용하세요. 중첩 객체나 길이가 다른 목록이 있다면 JSON을 유지합니다. 깔끔한 표가 원래의 관계를 모두 보존했다는 증거는 아닙니다.

식별자는 텍스트로 유지하기

00127 같은 코드는 식별자이지 반드시 숫자 127은 아닙니다. 텍스트로 저장하고 스프레드시트 열도 텍스트로 가져오세요. 전화번호와 아주 큰 숫자 ID도 마찬가지입니다. 일반 JavaScript 숫자는 9,007,199,254,740,991을 넘는 모든 정수를 정확히 표현하지 못합니다. 정밀도가 중요하면 따옴표로 감싼 문자열이나 필요한 숫자 범위를 명시적으로 지원하는 도구를 사용하세요.

CSV 해석은 파서에 맡기기

따옴표 안의 쉼표는 데이터이며 열 구분자가 아닙니다. 따옴표로 감싼 필드는 줄바꿈을 포함할 수 있고, 내부 큰따옴표는 이스케이프해야 합니다. 각 줄을 단순히 쉼표로 나누면 충분하지 않습니다. 변환 전에 구분자, 헤더 행, 중복 열 이름, 레코드별 예상 필드 수를 확인하세요. 검증에 실패한 행을 알리지 않고 버려서는 안 됩니다.

중첩 값을 옮기는 규칙 정하기

상품이 여러 개인 주문에는 명확한 내보내기 규칙이 필요합니다. 주문 ID를 가진 별도 상품 표를 만들거나 목록을 한 셀의 JSON 텍스트로 유지할 수 있습니다. 키에 이미 구분자가 있으면 객체를 평탄화할 때 모호한 이름이 생길 수 있습니다. 대응 규칙을 기록하고 다시 가져올 때도 사용하세요. 객체 키의 정렬은 배열 순서를 바꾸는 것과 다릅니다.

작은 표본으로 왕복 변환 확인하기

대표 표본을 변환하고 다시 가져와 레코드 수와 선택한 값을 비교하세요. 악센트 문자, 빈 문자열, null, 따옴표, 여러 줄 텍스트를 포함합니다. 신뢰할 수 없는 CSV를 스프레드시트로 열 때는 수식으로 해석될 셀을 확인하고 텍스트 가져오기 설정을 사용하세요. 원본과 변환 설정을 보관합니다. 이런 확인은 다운로드 성공 메시지만으로 알 수 없는 의미 변화를 찾아냅니다.

아래 출처를 바탕으로 작성한 편집 기사입니다.

www.rfc-editor.org · developer.mozilla.org