← 블로그 목록

JSON ↔ CSV 변환기 완벽 가이드 - 데이터 형식 변환의 모든 것 | HMApps

JSON과 CSV 데이터를 클릭 한 번에 상호 변환하세요. 개발, 데이터 분석, 엑셀 연동에 필수적인 JSON↔CSV 변환 방법과 활용 팁을 상세히 설명합니다.

광고

JSON과 CSV, 왜 상호 변환이 필요할까?

현대 개발 환경에서 데이터는 다양한 형태로 존재합니다. API 응답은 대부분 JSON(JavaScript Object Notation)으로 오지만, 비즈니스 팀은 CSV(Comma-Separated Values)로 데이터를 분석하고 엑셀에서 작업합니다. 이 두 세계를 연결하는 것이 바로 JSON↔CSV 변환입니다.

HMApps의 JSON ↔ CSV 변환기를 사용하면 복잡한 코드 없이 브라우저에서 즉시 데이터를 변환할 수 있습니다. 설치 불필요, 가입 불필요, 완전 무료입니다.

JSON이란? CSV란? 핵심 개념 정리

JSON (JavaScript Object Notation)

JSON은 키-값 쌍으로 구조화된 데이터 형식입니다. 중첩 객체와 배열을 지원하여 복잡한 데이터 구조를 표현할 수 있습니다.

[
  {
    "이름": "김철수",
    "나이": 30,
    "직업": "개발자",
    "기술": ["JavaScript", "Python"]
  },
  {
    "이름": "이영희",
    "나이": 28,
    "직업": "디자이너",
    "기술": ["Figma", "Adobe XD"]
  }
]

JSON의 특징:

  • 계층 구조 지원 — 객체 안에 객체, 배열 포함 가능
  • 타입 보존 — 숫자, 불리언, null 등 타입 구분
  • API 표준 — REST API, GraphQL 등에서 기본 형식
  • 가독성 — 들여쓰기로 구조 파악 용이

CSV (Comma-Separated Values)

CSV는 쉼표(또는 탭, 세미콜론)로 구분된 텍스트 형식입니다. 첫 줄은 보통 헤더(컬럼명)이며, 이후 각 줄이 하나의 레코드를 나타냅니다.

이름,나이,직업
김철수,30,개발자
이영희,28,디자이너
박민준,35,기획자

CSV의 특징:

  • 단순 구조 — 2차원 테이블 형태만 표현 가능
  • 범용성 — 엑셀, Google Sheets, 모든 DB 도구에서 지원
  • 경량 — JSON보다 파일 크기 작음
  • 이식성 — 플랫폼 무관하게 데이터 교환 가능

HMApps JSON↔CSV 변환기 사용법

JSON → CSV 변환 방법

API에서 받은 JSON 데이터를 엑셀로 정리하고 싶을 때 사용합니다.

  1. JSON ↔ CSV 변환기 페이지 접속
  2. 왼쪽 패널에서 JSON → CSV 모드 선택
  3. JSON 텍스트를 입력란에 붙여넣기 (배열 형태여야 함)
  4. 변환하기 버튼 클릭
  5. 오른쪽 패널에서 변환된 CSV 확인 후 복사 또는 다운로드

CSV → JSON 변환 방법

엑셀 데이터를 API나 앱에서 사용할 JSON으로 변환할 때 사용합니다.

  1. 같은 페이지에서 CSV → JSON 모드 선택
  2. 엑셀에서 복사한 데이터 또는 CSV 파일 내용 붙여넣기
  3. 첫 번째 행이 헤더인지 확인 (기본값: 헤더 포함)
  4. 변환하기 버튼 클릭
  5. 생성된 JSON 배열 복사하여 사용

변환 결과 예시

아래 CSV 데이터를 변환하면:

이름,부서,연봉,입사일
김철수,개발팀,5000,2020-03-15
이영희,마케팅,4500,2021-07-01
박민준,영업팀,4800,2019-11-20

이런 JSON으로 변환됩니다:

[
  { "이름": "김철수", "부서": "개발팀", "연봉": "5000", "입사일": "2020-03-15" },
  { "이름": "이영희", "부서": "마케팅", "연봉": "4500", "입사일": "2021-07-01" },
  { "이름": "박민준", "부서": "영업팀", "연봉": "4800", "입사일": "2019-11-20" }
]

실무 활용 사례 5가지

1. API 응답 데이터 → 엑셀 보고서

REST API에서 받은 사용자 목록, 주문 내역, 통계 데이터를 비즈니스 팀에 공유할 때 JSON을 CSV로 변환합니다. Postman이나 개발자 도구에서 응답 JSON을 복사 → 변환기에 붙여넣기 → CSV 다운로드의 3단계로 완성됩니다.

2. 데이터베이스 마이그레이션

한 데이터베이스에서 다른 데이터베이스로 데이터를 이전할 때 CSV를 중간 매개로 사용합니다. MongoDB의 JSON 데이터를 CSV로 변환하여 MySQL에 임포트하거나, 반대로 관계형 DB의 CSV 익스포트를 NoSQL용 JSON으로 변환합니다.

3. 구글 스프레드시트 연동

Google Sheets API는 JSON 형식으로 응답합니다. 구글 시트 데이터를 가공하거나, 외부 데이터를 구글 시트에 업로드할 때 변환이 필요합니다. IMPORTDATA 함수와 조합하면 실시간 데이터 파이프라인도 구축 가능합니다.

4. 테스트 데이터 생성

QA 팀이 엑셀로 관리하는 테스트 케이스를 개발자가 자동화 테스트에 사용하려면 JSON 변환이 필요합니다. CSV로 정리된 수백 개의 테스트 입력값을 JSON 배열로 변환하면 Jest, Vitest 등의 테스트 프레임워크에서 바로 사용할 수 있습니다.

5. 오픈 데이터 활용

공공데이터포털(data.go.kr), 통계청 등의 오픈 데이터는 CSV 형태로 제공되는 경우가 많습니다. 이를 JSON으로 변환하면 JavaScript 애플리케이션에서 바로 활용하거나 Chart.js, D3.js 등으로 시각화할 수 있습니다.

광고

변환 시 주의사항과 팁

중첩 데이터 처리

JSON의 가장 큰 장점은 중첩 구조이지만, CSV는 이를 지원하지 않습니다. 중첩 객체를 CSV로 변환할 때는 주의가 필요합니다.

// 중첩 JSON (CSV로 표현 어려움)
{
  "사용자": "김철수",
  "주소": {
    "시": "서울",
    "구": "강남구"
  }
}

// 플래트닝 후 CSV 변환
사용자,주소.시,주소.구
김철수,서울,강남구

HMApps 변환기는 중첩 객체를 점 표기법(dot notation)으로 플래트닝하여 처리합니다.

특수문자와 따옴표

CSV에서 쉼표나 줄바꿈이 포함된 값은 반드시 따옴표로 감싸야 합니다. 자동 변환 도구를 쓰더라도 결과를 검토하는 습관이 중요합니다.

이름,메모
김철수,"안녕하세요, 반갑습니다"  ✅ 올바른 처리
이영희,주소: 서울시 강남구 테헤란로  ✅ 쉼표 없으면 OK

인코딩 문제 (한글)

한글 CSV를 엑셀에서 열 때 깨지는 경우가 많습니다. 이는 인코딩 차이 때문입니다:

  • 엑셀(한국어): EUC-KR 또는 CP949 사용
  • 표준 CSV: UTF-8 권장

해결책: 엑셀에서 열 때 "데이터 탭 → 텍스트 파일 가져오기"로 인코딩을 UTF-8로 선택하거나, 파일 앞에 UTF-8 BOM()을 추가합니다. HMApps 변환기는 UTF-8 BOM 옵션을 제공합니다.

배열 필드 처리

JSON 배열 값(예: 태그, 카테고리 목록)을 CSV로 변환할 때는 처리 방법을 결정해야 합니다:

  • 세미콜론으로 연결: JavaScript;Python;TypeScript
  • 별도 컬럼으로 분리: 기술1, 기술2, 기술3
  • JSON 문자열로 유지: "[""JS"",""Python""]"

개발자를 위한 코드 예시

변환기 없이 코드로 직접 처리해야 할 때의 참고 코드입니다.

JavaScript: JSON → CSV

function jsonToCsv(jsonArray) {
  if (!jsonArray.length) return ''
  const headers = Object.keys(jsonArray[0])
  const rows = jsonArray.map(obj =>
    headers.map(h => {
      const val = obj[h] ?? ''
      const str = typeof val === 'object' ? JSON.stringify(val) : String(val)
      return str.includes(',') ? `"${str}"` : str
    }).join(',')
  )
  return [headers.join(','), ...rows].join('\n')
}

// 사용 예시
const data = [
  { 이름: '김철수', 나이: 30, 직업: '개발자' },
  { 이름: '이영희', 나이: 28, 직업: '디자이너' }
]
const csv = jsonToCsv(data)
console.log(csv)

JavaScript: CSV → JSON

function csvToJson(csv) {
  const lines = csv.trim().split('\n')
  const headers = lines[0].split(',').map(h => h.trim())
  return lines.slice(1).map(line => {
    const values = line.split(',')
    return headers.reduce((obj, header, i) => {
      obj[header] = values[i]?.trim() ?? ''
      return obj
    }, {})
  })
}

// 사용 예시
const csv = `이름,나이,직업
김철수,30,개발자
이영희,28,디자이너`
const json = csvToJson(csv)
console.log(json)

Python: 라이브러리 활용

import json
import csv
import io

# JSON → CSV
def json_to_csv(json_data):
    if not json_data:
        return ''
    output = io.StringIO()
    writer = csv.DictWriter(output, fieldnames=json_data[0].keys())
    writer.writeheader()
    writer.writerows(json_data)
    return output.getvalue()

# CSV → JSON
def csv_to_json(csv_string):
    reader = csv.DictReader(io.StringIO(csv_string))
    return list(reader)

다른 변환 도구와의 비교

도구장점단점
HMApps 변환기무료, 빠름, 설치 불필요, 한국어 UI대용량 파일 제한
Python pandas대용량 처리, 복잡한 변환코딩 필요, 환경 설정 필요
jq (CLI)강력한 JSON 처리학습 곡선, 터미널 필요
엑셀 파워쿼리GUI, 복잡한 변환 가능유료, Windows 중심

간단한 변환 작업에는 HMApps 변환기가 가장 빠르고 편리합니다. 수백만 행의 대용량 데이터나 복잡한 변환 로직이 필요하다면 Python pandas를 권장합니다.

마치며: 데이터 형식 전환의 자유

JSON과 CSV는 각자의 강점이 있습니다. JSON은 복잡한 구조와 API 통신에, CSV는 단순한 표 형태의 데이터와 비즈니스 도구 연동에 적합합니다. 이 두 형식을 자유롭게 오갈 수 있으면 개발 생산성이 크게 향상됩니다.

HMApps JSON↔CSV 변환기는 이 전환을 최대한 간단하게 만들었습니다. API 응답 분석, 데이터 마이그레이션, 팀 간 데이터 공유 등 다양한 상황에서 활용해보세요.

👉 JSON ↔ CSV 변환기 바로 사용하기

관련 도구도 함께 활용하면 더욱 효율적입니다: JSON 포맷터로 JSON을 예쁘게 정리하고, 텍스트 분석기로 데이터 품질을 확인하세요.

광고