홈 / 업무 가이드 / JSON Lines
JSON Lines

JSONL·NDJSON과 JSON 배열의 차이: 줄별 로그를 변환하는 방법

DataWork Tools 편집 · 2026년 11월 3일

API에서 받은 데이터는 JSON 배열인데 로그와 배치 처리 시스템은 한 줄마다 객체 하나를 요구하는 경우가 있습니다. JSONL 또는 NDJSON은 JSON 문서 여러 개를 줄바꿈으로 나눈 텍스트 형식입니다. 단순히 대괄호와 쉼표를 지우는 작업으로 바꾸면 문자열 안의 쉼표와 줄바꿈을 손상시킬 수 있습니다.

JSON 배열과 JSONL 예제

JSON 배열
[
  {"사번":"0012","활성":true},
  {"사번":"0024","활성":false}
]

JSONL
{"사번":"0012","활성":true}
{"사번":"0024","활성":false}

배열은 전체가 하나의 JSON 문서이고, JSONL은 각 줄이 독립적인 JSON 값입니다. 두 형식 모두 사번을 문자열로 두면 앞자리 0을 유지할 수 있습니다. JSONL의 각 줄에는 객체뿐 아니라 배열·문자열·숫자·true·false·null도 올 수 있습니다.

UTF-8, BOM, 마지막 줄바꿈

JSON Lines 형식 안내는 UTF-8을 사용하고 BOM을 넣지 않도록 설명합니다. 각 줄은 유효한 JSON 값이어야 하며 마지막 줄바꿈은 허용됩니다. 이 도구의 JSONL 다운로드도 UTF-8·BOM 없음으로 생성하고 레코드가 있으면 마지막 줄바꿈을 붙입니다.

빈 줄과 오류가 있는 줄은 다릅니다

빈 줄은 유효한 JSON 값이 아니므로 기본적으로 줄 번호와 함께 오류가 납니다. 실무 파일에 섞인 빈 줄만 정리하려면 빈 줄 건너뛰기를 명시적으로 켜세요. 문법이 틀린 줄까지 건너뛰는 기능은 제공하지 않습니다. 100건을 넣고 99건만 나오는 누락을 숨기지 않기 위해서입니다.

문자열 내부의 줄바꿈

한 레코드의 문자열 안에서 줄바꿈은 \n과 같은 JSON 이스케이프로 표현해야 합니다. 따옴표 안에 실제 개행을 넣어 두 물리적 줄로 나누면 유효한 JSONL이 아닙니다. 도구는 JSON 배열을 파싱한 뒤 각 항목을 한 줄로 직렬화해 문자열 안의 개행을 이스케이프합니다.

큰 ID와 숫자 표기를 확인하세요

브라우저가 안전하게 표현할 수 없는 큰 정수는 문자열로 감싸야 합니다. 소수는 브라우저 숫자 정밀도를 따르므로 금융 계산의 원문 보존용으로 사용하지 마세요. 1.0이 1로, 이스케이프 문자가 실제 문자로 바뀌는 등 데이터 의미가 같아도 원문 표현은 달라질 수 있습니다. 중복된 객체 키는 파서가 마지막 값을 남기므로 원본 작성 단계에서 없애는 것이 좋습니다.

변환 결과 검수

  1. 입력 레코드 수와 결과 수를 비교합니다.
  2. 앞자리 0, null, 배열 내부 순서와 문자열 개행을 확인합니다.
  3. 다운로드 확장자가 .json 또는 .jsonl인지 확인합니다.
  4. JSONL을 CSV로 옮길 때는 JSON 배열로 변환한 뒤 JSON → CSV를 이용합니다. CSV 변환은 평평한 객체 배열만 지원합니다.

JSONL ↔ JSON 변환 시작 →

함께 읽기

CSV 한글이 깨질 때: UTF-8과 EUC-KR 구분하기
사번 0012가 12로 바뀌는 이유와 보존 방법
CSV를 SQL INSERT로 바꾸기 전 확인할 5가지
중복 제거에서 전체 행과 기준 열은 어떻게 다를까?
두 CSV 파일 비교: 추가·삭제·변경 행을 찾는 방법
VLOOKUP 없이 두 CSV 합치기: LEFT와 INNER JOIN 차이
CSV 열 순서 바꾸기·열 이름 변경·불필요한 열 삭제
JSON을 CSV로 변환할 때 빈칸·중첩 데이터·큰 숫자 확인하기
JSON 문법 오류 찾기: 따옴표·쉼표·큰 숫자 검수 방법
CSV 파일 분할과 행·열 전치: 처리 순서와 결과 검수
CSV 공백과 빈 행 정리: 지워도 되는 값부터 구분하기
CSV와 TSV 차이: 엑셀에서 복사한 표를 파일로 바꾸기
CSV를 Markdown 표로 만들기: README에 표 붙여넣는 방법
CSV 정렬에서 10이 2보다 먼저 나오는 이유: 문자열과 숫자 정렬
CSV에서 필요한 행만 추출하기: 포함·일치·빈값 필터의 차이
JSON 비교에서 키 순서와 실제 데이터 변경을 구분하는 방법
2026 연봉 실수령액: 지급 월·부양가족·비과세액이 달라지는 이유
내 연봉은 상위 몇 퍼센트? 월소득 통계 구간으로 읽는 법
3.3% 계산과 역산: 원천징수액과 최종 세금은 다릅니다
부가세 포함과 별도: 공급가액을 1.1로 나누는 이유
시급에서 월급으로: 209시간을 모두에게 적용하면 안 되는 이유
연봉 인상률 계산: 월 증가액과 실수령 증가액 구분하기
퇴직금 예상액: 최근 3개월·평균임금·통상임금 확인하기
주휴수당 계산: 실제 근무시간과 소정근로시간 구분하기