JSON을 JSONL로 평탄화
중첩된 JSON 객체와 배열을 JSONL(JSON Lines) 형식으로 추출하고 평탄화합니다. 각 레코드는 별도의 줄이 됩니다. 100% 클라이언트 측.
입력 JSON
.json 파일을 여기에 드롭하거나 클릭하여 찾아보기
.json, .txt 지원
입력 JSON
.json 파일을 여기에 드롭하거나 클릭하여 찾아보기
.json, .txt 지원
출력 JSONL
평탄화할 중첩된 JSON을 붙여넣거나 드롭하세요
JSON을 JSONL로 평탄화하는 방법
JSON을 JSONL로 평탄화하면 중첩된 구조에서 레코드를 추출하고 각 레코드를 별도의 JSONL 줄로 변환합니다. JSON에 객체 배열이 포함된 경우, 각 배열 요소는 하나의 줄이 됩니다. 중첩된 객체 키는 점 표기법으로 평탄화됩니다.
당사의 도구는 브라우저에서 완전히 작동합니다. 서버로 전송되는 데이터가 없습니다. 중첩된 JSON을 붙여넣거나 파일을 드래그 앤 드롭하면 평탄화된 JSONL 출력이 즉시 나타납니다. 부모 수준 필드는 각 레코드에 자동으로 병합됩니다.
출력은 줄당 하나의 압축된 JSON 객체가 있는 유효한 JSONL입니다. 결과를 클립보드에 복사하거나 .jsonl 파일로 다운로드하여 머신러닝, 데이터 파이프라인 또는 데이터베이스 가져오기에 바로 사용할 수 있습니다.
JSON 평탄화란?
JSON 평탄화는 깊게 중첩된 JSON 구조를 평평한 줄 단위 형식으로 변환하는 과정입니다. 중첩된 객체 키는 점 표기법(예: address.city)으로 변환되고, 객체 배열은 확장되어 각 요소가 JSONL 형식의 자체 레코드가 됩니다.
복잡한 중첩이 있는 API 응답이나 데이터베이스 내보내기가 있고 머신러닝 학습, CSV 변환 또는 줄당 하나의 레코드를 예상하는 스트리밍 데이터 파이프라인을 위한 평평한 표 형식으로 변환해야 할 때 특히 유용합니다.
일반적인 사용 사례
API 응답 처리
중첩된 API 응답을 JSONL로 평탄화하여 데이터 파이프라인에서 더 쉬운 파싱, 로깅 및 다운스트림 처리를 수행합니다.
ETL 데이터 변환
복잡한 JSON 내보내기에서 레코드를 추출하고 데이터베이스 또는 데이터 웨어하우스에 로드하기 위해 JSONL로 평탄화합니다.
ML 데이터셋 준비
중첩된 JSON 데이터셋을 OpenAI, Hugging Face 및 기타 ML 학습 플랫폼에서 요구하는 평평한 JSONL 레코드로 변환합니다.
로그 & 분석 처리
중첩된 메타데이터가 있는 구조화된 로그 파일을 grep, jq 또는 Elasticsearch와 같은 도구로 분석하기 위해 JSONL로 평탄화합니다.
테스트 데이터 생성
복잡한 JSON API 목 응답을 자동화 테스트 스위트에서 테스트 픽스처로 사용하기 위해 개별 JSONL 레코드로 평탄화합니다.
데이터베이스 마이그레이션
MongoDB 또는 CouchDB에서 내보낸 중첩된 문서 스타일 JSON을 PostgreSQL과 같은 관계형 데이터베이스로 가져오기 위해 평평한 JSONL 레코드로 평탄화합니다.
일반적인 오류 및 해결 방법
평탄화할 레코드를 찾을 수 없음
이 오류는 입력 JSON이 원시 값(문자열, 숫자)이거나 빈 객체/배열인 경우 발생합니다. 도구는 레코드를 추출하기 위해 객체 또는 객체 배열이 필요합니다. JSON에 키-값 쌍이 있는 객체가 하나 이상 포함되어 있는지 확인하세요.
점 표기법 키 충돌
최상위 수준에 "user.name"이라는 키가 있고 동시에 중첩된 {"user":{"name":"value"}'}가 있는 경우 둘 다 동일한 점 표기법 키로 평탄화됩니다. 중첩된 값이 최상위 값을 덮어씁니다. 평탄화 전에 충돌하는 키의 이름을 변경하세요.
JSON의 순환 참조
표준 JSON에는 순환 참조가 포함될 수 없지만, 일부 JSON 생성기는 매우 깊게 중첩된 구조를 생성할 수 있습니다. 도구는 합리적인 깊이까지 깊은 중첩을 처리하지만, 구조가 안전 한도를 초과하면 평탄화를 중지합니다.
자주 묻는 질문
이 JSON 평탄화 도구는 무엇을 하나요?
중첩된 객체 키는 점 표기법으로 변환됩니다. 예를 들어, {"user":{"address":{"city":"NYC"}'}'}는 {"user.address.city":"NYC"}가 됩니다. 이렇게 하면 깊게 중첩된 데이터를 평평한 키-값 쌍으로 액세스할 수 있습니다.
깊게 중첩된 JSON을 JSONL로 평탄화할 수 있나요?
JSON에 객체 배열이 포함된 경우, 각 객체는 별도의 JSONL 줄이 됩니다. 원시값(문자열, 숫자) 배열은 평탄화된 출력 내에서 JSON 문자열로 직렬화됩니다. 도구는 확장할 주 배열을 자동으로 감지합니다.
이 도구가 내 JSON 파일을 업로드하나요?
네. 모든 평탄화는 브라우저에서 로컬로 이루어집니다. 서버로 전송되는 데이터가 없습니다. JSON 콘텐츠는 기기를 떠나지 않습니다.
어떤 배열을 평탄화할지 어떻게 선택하나요?
네. 도구는 모든 수준의 중첩을 처리합니다. 최상위 스칼라 필드는 각 레코드에 병합되고, 중첩된 객체는 점 표기법을 사용하며, 가장 큰 객체 배열은 개별 JSONL 줄로 확장됩니다.
스칼라(비객체) 배열 항목은 어떻게 되나요?
null 값은 평탄화된 출력에서 null로 유지됩니다. JSON에는 undefined 타입이 없으므로 undefined 값은 발생하지 않습니다. 빈 객체는 아무것도 없이 평탄화되며(키가 생성되지 않음), 빈 배열은 빈 JSON 배열로 직렬화됩니다.
결과를 다시 JSON으로 변환하려면 어떻게 하나요?
현재 도구는 한 번에 하나의 JSON 입력을 처리합니다. 여러 파일을 평탄화하려면 하나씩 처리하세요. 대량 작업의 경우 커맨드라인 도구인 jq를 이 도구와 함께 사용하여 시각적 확인을 할 수 있습니다.
혼합된 배열과 객체를 포함하는 JSON 객체를 평탄화할 수 있나요?
도구는 실제 JSON 데이터에서 흔히 발견되는 중첩 깊이(일반적으로 20단계 이상)를 지원합니다. 하드코딩된 깊이 제한은 없지만, 극도로 깊은 중첩은 출력에서 매우 긴 점 표기법 키를 생성할 수 있습니다.
이 도구가 처리할 수 있는 최대 파일 크기는 얼마인가요?
JSON → JSONL은 단순히 최상위 배열의 각 요소를 별도의 줄에 배치합니다. JSON 평탄화 → JSONL은 한 단계 더 나아가 중첩 구조를 펼치고 중첩 키를 점 표기법으로 변환하며 부모 수준 필드를 각 레코드에 병합합니다. 깊게 중첩된 JSON에서 레코드를 추출해야 할 때 평탄화를 사용하세요.