JSON 평탄화 / 복원
중첩된 JSON 객체를 도트·슬래시·언더스코어 구분자로 단일 레벨 키로 평탄화합니다. 배열은 인덱스(예: list.0)로 표현됩니다. 역으로 평탄화된 키-값 맵을 중첩 구조로 복원할 수도 있습니다.
중첩 JSON 객체를 경로 형태의 평평한 키로 펼치거나, 평평한 객체를 다시 중첩 객체와 배열로 복원합니다. 구분자는 점·슬래시·밑줄 중에서 선택할 수 있습니다.
JSON Flatten / Unflatten 사용 방법
- 유효한 JSON 객체를 입력하세요.
- 점, 슬래시, 밑줄 중 키 구분자를 선택하세요.
- Flatten 또는 Unflatten을 실행하세요.
- 필요하면 Pretty 출력 옵션을 사용하세요.
- 결과 JSON을 복사하세요.
객체와 배열 처리 방식
Flatten은 일반 객체를 재귀적으로 펼칩니다. 배열은 items.0 같은 숫자 경로 조각으로 펼치며, 배열 안의 객체도 다시 재귀적으로 처리합니다.
Unflatten은 선택한 구분자로 키를 나눕니다. 다음 경로 조각이 숫자로만 되어 있으면 배열을 만들고, 아니면 객체를 만듭니다. 원래 키에 선택한 구분자 문자가 들어 있으면 경로와 실제 키를 구분하기 어려울 수 있습니다.
개인정보 보호 및 제한 사항
처리는 브라우저에서 로컬로 수행되며 입력 JSON을 의도적으로 업로드하지 않습니다. 최상위 입력은 null이나 배열, 원시값이 아닌 JSON 객체여야 합니다. Unflatten은 구분자 기반 경로 해석을 사용하며 실제 키 안의 구분자 문자를 별도로 escape하지 않습니다.
자주 묻는 질문
배열도 펼치나요?
네. 배열 인덱스가 숫자 경로 조각으로 들어갑니다.
지원하는 구분자는 무엇인가요?
점, 슬래시, 밑줄을 지원합니다.
Unflatten할 때 배열도 복원되나요?
네. 다음 경로 조각이 숫자이면 배열을 생성합니다.
최상위 JSON 배열도 Flatten할 수 있나요?
아니요. 현재 구현은 최상위 객체를 요구합니다.
키에 구분자 문자가 원래 들어 있으면요?
경로 구분과 실제 키를 구별하기 어려워 복원이 모호해질 수 있습니다.